#екран — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #екран, aggregated by home.social.
-
CW: Друга програма на Haskell
Зазвичай друга програма кожного програміста який починає вивчати мову програмування це
hello {name}.Спочатку треба трохи розʼяснити про
ghc,ghciі функціюmain.ghc- це компілятор мови програмуванняHaskell.ghci- це інтерпретатор мови програмування.функція
main- це головна функція яка автоматично викликається при запуску бінарного файлу зібраного за допомогоюghc. Вона не обовʼязкова для запуску в режимі інтерпретації.У функціональних мовах, до яких належить Haskell, немає змінних. Є тільки функції та константи. Константа це функція яка повертає завжди одне значення не залежачи від жодних обставин.
Всі файли з джерельним кодом називаються модулями. Є спеціальне оголошення модулів, але про це пізніше.
Також є різниця між написанням коду в файлі й виконанням в інтерактивному режимі інтерпретатора. В інтерпретаторі ми можемо виконати будь-яку інструкцію, наприклад
putStrLn "Hi!", а в модулі ні. У модулі можна тільки створювати функції.Однорядкові коментарі починаються з двох мінусів
-- Comment.
Тепер перейдемо до нашої програми. У єдиній попередній нашій функції в нас була одна команда. Виклик функції
putStrLnз передаванням аргументу. Тепер нам потрібно вписати кілька команд, і щоб це зробити потрібно використати ключове словоdo. Після нього можна вписати кілька команд розділені;, або новим рядком. Але кожний новий рядок повинен починатися з певного відступу. Відступ може бути або пробілом, або табуляцією. Кількість символів може бути різною, але кожний наступний рядок повинен мати, або ту ж кількість пробілів, або більше. Якщо буде менше, то це вважатиметься новим оголошенням. Також один символ табуляції буде розглядатись як вісім пробілів, не залежно від налаштувань редактора.main = do putStr "Введіть ваше ім'я: " -- Вивід тексту в stdout name <- getLine -- зчитування з клавіатури одного рядка з stdin putStrLn ("Привіт, " ++ name ++ "!") -- Вивід привітання в stdoutОператор
++обʼєднує рядки в один. У інших мовах для цього використовується оператор, який складається з одного символу+.Все було б добре, якби не одна проблема. Коли ми запустимо цю програму, то отримаємо не зовсім очікуваний результат.
Мертвий Демон Введіть ваше ім'я: Привіт, Мертвий Демон!Ця програма спочатку буде очікувати на ввід, а потім виведе на екран весь текст. Це відбувається через буферизацію. Вивід відбувається при вписуванні символу нового рядка. Але ми можемо змусити його вивести тоді коли нам це потрібно. Ця функція називається
flush. У Haskell вона знаходиться у модуліSystem.IO, який нам потрібно імпортувати.import System.IO main = do putStr "Введіть ваше ім'я: " hFlush stdout name <- getLine putStrLn ("Привіт, " ++ name ++ "!")Ця програма буде працювати вірно.
#haskell #hello-name #programing #програмування #друга #програма #stdout #stdin #функції #вивід #ввід #екран #клавіатура #зчитування #flush
-
CW: Друга програма на Haskell
Зазвичай друга програма кожного програміста який починає вивчати мову програмування це
hello {name}.Спочатку треба трохи розʼяснити про
ghc,ghciі функціюmain.ghc- це компілятор мови програмуванняHaskell.ghci- це інтерпретатор мови програмування.функція
main- це головна функція яка автоматично викликається при запуску бінарного файлу зібраного за допомогоюghc. Вона не обовʼязкова для запуску в режимі інтерпретації.У функціональних мовах, до яких належить Haskell, немає змінних. Є тільки функції та константи. Константа це функція яка повертає завжди одне значення не залежачи від жодних обставин.
Всі файли з джерельним кодом називаються модулями. Є спеціальне оголошення модулів, але про це пізніше.
Також є різниця між написанням коду в файлі й виконанням в інтерактивному режимі інтерпретатора. В інтерпретаторі ми можемо виконати будь-яку інструкцію, наприклад
putStrLn "Hi!", а в модулі ні. У модулі можна тільки створювати функції.Однорядкові коментарі починаються з двох мінусів
-- Comment.
Тепер перейдемо до нашої програми. У єдиній попередній нашій функції в нас була одна команда. Виклик функції
putStrLnз передаванням аргументу. Тепер нам потрібно вписати кілька команд, і щоб це зробити потрібно використати ключове словоdo. Після нього можна вписати кілька команд розділені;, або новим рядком. Але кожний новий рядок повинен починатися з певного відступу. Відступ може бути або пробілом, або табуляцією. Кількість символів може бути різною, але кожний наступний рядок повинен мати, або ту ж кількість пробілів, або більше. Якщо буде менше, то це вважатиметься новим оголошенням. Також один символ табуляції буде розглядатись як вісім пробілів, не залежно від налаштувань редактора.main = do putStr "Введіть ваше ім'я: " -- Вивід тексту в stdout name <- getLine -- зчитування з клавіатури одного рядка з stdin putStrLn ("Привіт, " ++ name ++ "!") -- Вивід привітання в stdoutОператор
++обʼєднує рядки в один. У інших мовах для цього використовується оператор, який складається з одного символу+.Все було б добре, якби не одна проблема. Коли ми запустимо цю програму, то отримаємо не зовсім очікуваний результат.
Мертвий Демон Введіть ваше ім'я: Привіт, Мертвий Демон!Ця програма спочатку буде очікувати на ввід, а потім виведе на екран весь текст. Це відбувається через буферизацію. Вивід відбувається при вписуванні символу нового рядка. Але ми можемо змусити його вивести тоді коли нам це потрібно. Ця функція називається
flush. У Haskell вона знаходиться у модуліSystem.IO, який нам потрібно імпортувати.import System.IO main = do putStr "Введіть ваше ім'я: " hFlush stdout name <- getLine putStrLn ("Привіт, " ++ name ++ "!")Ця програма буде працювати вірно.
#haskell #hello-name #programing #програмування #друга #програма #stdout #stdin #функції #вивід #ввід #екран #клавіатура #зчитування #flush
-
CW: Друга програма на Haskell
Зазвичай друга програма кожного програміста який починає вивчати мову програмування це
hello {name}.Спочатку треба трохи розʼяснити про
ghc,ghciі функціюmain.ghc- це компілятор мови програмуванняHaskell.ghci- це інтерпретатор мови програмування.функція
main- це головна функція яка автоматично викликається при запуску бінарного файлу зібраного за допомогоюghc. Вона не обовʼязкова для запуску в режимі інтерпретації.У функціональних мовах, до яких належить Haskell, немає змінних. Є тільки функції та константи. Константа це функція яка повертає завжди одне значення не залежачи від жодних обставин.
Всі файли з джерельним кодом називаються модулями. Є спеціальне оголошення модулів, але про це пізніше.
Також є різниця між написанням коду в файлі й виконанням в інтерактивному режимі інтерпретатора. В інтерпретаторі ми можемо виконати будь-яку інструкцію, наприклад
putStrLn "Hi!", а в модулі ні. У модулі можна тільки створювати функції.Однорядкові коментарі починаються з двох мінусів
-- Comment.
Тепер перейдемо до нашої програми. У єдиній попередній нашій функції в нас була одна команда. Виклик функції
putStrLnз передаванням аргументу. Тепер нам потрібно вписати кілька команд, і щоб це зробити потрібно використати ключове словоdo. Після нього можна вписати кілька команд розділені;, або новим рядком. Але кожний новий рядок повинен починатися з певного відступу. Відступ може бути або пробілом, або табуляцією. Кількість символів може бути різною, але кожний наступний рядок повинен мати, або ту ж кількість пробілів, або більше. Якщо буде менше, то це вважатиметься новим оголошенням. Також один символ табуляції буде розглядатись як вісім пробілів, не залежно від налаштувань редактора.main = do putStr "Введіть ваше ім'я: " -- Вивід тексту в stdout name <- getLine -- зчитування з клавіатури одного рядка з stdin putStrLn ("Привіт, " ++ name ++ "!") -- Вивід привітання в stdoutОператор
++обʼєднує рядки в один. У інших мовах для цього використовується оператор, який складається з одного символу+.Все було б добре, якби не одна проблема. Коли ми запустимо цю програму, то отримаємо не зовсім очікуваний результат.
Мертвий Демон Введіть ваше ім'я: Привіт, Мертвий Демон!Ця програма спочатку буде очікувати на ввід, а потім виведе на екран весь текст. Це відбувається через буферизацію. Вивід відбувається при вписуванні символу нового рядка. Але ми можемо змусити його вивести тоді коли нам це потрібно. Ця функція називається
flush. У Haskell вона знаходиться у модуліSystem.IO, який нам потрібно імпортувати.import System.IO main = do putStr "Введіть ваше ім'я: " hFlush stdout name <- getLine putStrLn ("Привіт, " ++ name ++ "!")Ця програма буде працювати вірно.
#haskell #hello-name #programing #програмування #друга #програма #stdout #stdin #функції #вивід #ввід #екран #клавіатура #зчитування #flush