Участник:ХаскельСкрипт
Материал из ТХАБ.РФ
https://www.ohaskell.guide/setup.html
Содержание
Мои программы на Хаскель
Вычисление квадратного корня
square :: Int -> Int square v = v * v
Проба золота
Проба золота - оригинал
analyzeGold :: Int -> String analyzeGold standard = if standard == 999 then "Wow! 999 standard!" else if standard == 750 then "Great! 750 standard." else if standard == 585 then "Not bad! 585 standard." else "I don't know such a standard..." main :: IO () main = putStrLn (analyzeGold 999)
Проба золота - По русски
-- разрешение использовать не латинские имена переменных и функций (Unicod) {-# LANGUAGE UnicodeSyntax #-} -- Объявление функции анализЗолота анализЗолота :: Int -> String анализЗолота проба = if проба == 999 then "Отлично! Это 999 проба!" else if проба == 750 then "Хорошо! 750 проба." else if проба == 585 then "Неплохо! 585 проба." else "Я не знаю что это за стандарт..."
main :: IO () -- вводим 999 пробу main = putStrLn (анализЗолота 999)
вариант 2 - английский
{-# LANGUAGE MultiWayIf #-} -- включение расширения которое позволяет использовать множественный if module Main where -- функции analyzeGold :: Int -> String analyzeGold standard = if | standard == 999 -> "Wow! 999 standard!" | standard == 750 -> "Great! 750 standard." | standard == 585 -> "Not bad! 585 standard." | otherwise -> "I don't know such a standard..." -- программа main :: IO () main = putStrLn (analyzeGold 999)
Вариант 2 - по русски
{-# LANGUAGE UnicodeSyntax #-} -- разрешение использовать не латинские имена переменных и функций (Unicod) {-# LANGUAGE MultiWayIf #-} -- включение расширения которое позволяет использовать множественный if module Main where -- Объявление функции анализЗолота анализЗолота :: Int -> String анализЗолота проба = if | проба == 999 -> "Отлично! Это 999 проба!" | проба == 750 -> "Хорошо! 750 проба." | проба == 585 -> "Неплохо! 585 проба." | otherwise -> "Я не знаю что это за проба..." main :: IO () -- вводим 999 пробу main = putStrLn (анализЗолота 750)
вариант 3 - английский
{-# LANGUAGE MultiWayIf #-} -- включение расширения которое позволяет использовать множественный if module Main where -- функции analyzeGold :: Int -> String analyzeGold standard | standard == 999 = "Wow! 999 standard!" | standard == 750 = "Great! 750 standard." | standard == 585 = "Not bad! 585 standard." | otherwise = "I don't know such a standard..." -- программа main :: IO () main = putStrLn (analyzeGold 999)
Вариант 3 - по русски
{-# LANGUAGE UnicodeSyntax #-} -- разрешение использовать не латинские имена переменных и функций (Unicod) {-# LANGUAGE MultiWayIf #-} -- включение расширения которое позволяет использовать множественный if module Main where -- Объявление функции анализЗолота анализЗолота :: Int -> String анализЗолота проба | проба == 999 = "Отлично! Это 999 проба!" | проба == 750 = "Хорошо! 750 проба." | проба == 585 = "Неплохо! 585 проба." | otherwise = "Я не знаю что это за проба..." -- программа main :: IO () -- вводим 999 пробу main = putStrLn (анализЗолота 750)
Ссылки
- https://www.ohaskell.guide/setup.html - учебник по Хаскелю откуда русифицируются примеры для лучшего понимания
- https://replit.com - онлайн компилятор Хасекль который позволяет использовать русские имена переменных и функций