Участник:ХаскельСкрипт — различия между версиями
Материал из ТХАБ.РФ
(→Вариант 2 - по русски) |
(→Вариант 2 - по русски) |
||
Строка 57: | Строка 57: | ||
main = putStrLn (analyzeGold 999) | main = putStrLn (analyzeGold 999) | ||
− | ==== Вариант 2 - по русски ==== | + | ===== Вариант 2 - по русски ===== |
{-# LANGUAGE UnicodeSyntax #-} -- разрешение использовать не латинские имена переменных и функций (Unicod) | {-# LANGUAGE UnicodeSyntax #-} -- разрешение использовать не латинские имена переменных и функций (Unicod) | ||
Строка 69: | Строка 69: | ||
| проба == 585 -> "Неплохо! 585 проба." | | проба == 585 -> "Неплохо! 585 проба." | ||
| otherwise -> "Я не знаю что это за проба..." | | 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 () | main :: IO () | ||
-- вводим 999 пробу | -- вводим 999 пробу |
Версия 22:25, 31 октября 2023
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 - онлайн компилятор Хасекль который позволяет использовать русские имена переменных и функций