Треки
/
Elm
Elm
/
Вправи
/
Смачнюща лазанья Люсіана
Смачнюща лазанья Люсіана

Смачнюща лазанья Люсіана

Навчальна вправа

Вступ

Основи 1

Константи та функції

Константне значення визначається за допомогою name = expression, де в Elm усе, крім визначень, є виразами.

five = 5

six = 3 + 3

Функції визначаються за допомогою name parameters... = expression, причому параметри розділяються лише пробілом.

add number1 number2 = number1 + number2

Виклик функції також є виразом і виконується шляхом вказівки її назви та передавання аргументів для кожного параметра функції, розділених пробілом, так само як і під час визначення функції.

five = add 2 3

Дужки можна використовувати, щоб задати порядок обчислення виразу.

six = add 2 (1 * 4)

twelve = add 2 1 * 4

Відступи / значущі пробіли

Elm не використовує синтаксичні маркери, як-от фігурні дужки, круглі дужки чи крапки з комою, щоб визначати межі коду. Замість цього він послуговується пробілами та відступами.

  • Визначення модулів, імпортів і функцій верхнього рівня мають починатися з найлівішого стовпця.
  • Якщо вираз розбито на кілька рядків, код, що є частиною цього виразу, потрібно відступити під цим виразом щонайменше на один пробіл.
  • Частини виразу, згруповані разом, слід відступати на однакову кількість пробілів.
-- A function split over multiple lines, so subsequent lines must be indented
add number1 number2 =
    number1 + number2

https://elmprogramming.com/indentation.html

Модулі

Кожен файл в Elm - це модуль, і він має містити інструкцію module перед усім іншим кодом. Назви модулів мають збігатися з назвою їхнього файлу, тож модуль Calculator має бути у файлі Calculator.elm. Усе, визначене всередині модуля, має приватну область видимості щодо нього і недоступне ззовні цього модуля, якщо його не перелічено в exposing.

-- Define the Calculator module, and expose the `add` function
module Calculator exposing (add)

six = 3 + 3

add number1 number2 = number1 + number2
-- Define the Calculator module, and expose everything within: `six` and `add`
module Calculator exposing (..)

six = 3 + 3

add number1 number2 = number1 + number2

https://elm-lang.org/docs/syntax#modules

Коментарі

Коментар - це текст у файлі Elm, який не інтерпретується як код. Він призначений головно для того, щоб його читали ми самі та інші програмісти. Для однорядкових коментарів є легкий синтаксис на основі подвійних дефісів. Багаторядкові коментарі також можливі за допомогою пари {- та -} відкривального й закривального розділювачів.

-- a single line comment
-- another single line comment

{- a multiline comment
   spawning multiple lines
-}

Форматування

Є посібник зі стилю, а також elm-format, який можна використовувати для автоматичного форматування коду.

Вказівки

У цій вправі ми напишемо трохи коду, щоб допомогти приготувати чудову лазанью з улюбленої кулінарної книги.

У нас є три завдання, усі повʼязані з часом, витраченим на приготування лазаньї.

1. Визначте очікуваний час у духовці в хвилинах

Визначте expectedMinutesInOven, щоб обчислити, скільки хвилин лазанья має бути в духовці. Згідно з кулінарною книгою, очікуваний час у духовці становить 40 хвилин:

expectedMinutesInOven
    --> 40

2. Обчисліть час підготовки в хвилинах

Визначте preparationTimeInMinutes, яка приймає кількість шарів у лазаньї як параметр і повертає, скільки хвилин потрібно, щоб підготувати лазанью, якщо кожен шар потребує 2 хвилини підготовки.

preparationTimeInMinutes 3
    --> 6

3. Обчисліть витрачений час у хвилинах

Визначте функцію elapsedTimeInMinutes, яка приймає два параметри: перший параметр - це кількість шарів у лазаньї, а другий параметр - це кількість хвилин, які лазанья вже провела в духовці. Функція має повертати, скільки хвилин ми витратили на приготування лазаньї, що є сумою часу підготовки в хвилинах і часу в хвилинах, який лазанья провела в духовці на цей момент.

elapsedTimeInMinutes 3 20
    --> 26
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
Elm Exercism

Час розпочати Смачнюща лазанья Люсіана?

Зареєструйтеся на Exercism, щоб вивчати й опановувати Elm, а також 28 концепцій110 вправ та справжнє наставництво від людей, і все це безкоштовно.