Kurzusok
/
Elm
Elm
/
Feladatok
/
Lucian ínycsiklandó lasagnéja
Lucian ínycsiklandó lasagnéja

Lucian ínycsiklandó lasagnéja

Tanulófeladat

Bevezetés

Alapok 1

Konstansok és függvények

Egy konstans értéket name = expression formában definiálunk, ahol az Elmben minden definíció kivételével kifejezésnek számít.

five = 5

six = 3 + 3

A függvényeket name parameters... = expression formában definiáljuk, a paramétereket pedig csak szóköz választja el egymástól.

add number1 number2 = number1 + number2

Egy függvény meghívása szintén kifejezés, és úgy történik, hogy megadjuk a nevét, majd minden paraméteréhez átadunk egy argumentumot, szóközzel elválasztva, éppúgy, mint a függvény definiálásakor.

five = add 2 3

Zárójelekkel megadhatjuk egy kifejezés kiértékelési sorrendjét.

six = add 2 (1 * 4)

twelve = add 2 1 * 4

Behúzás / a whitespace jelentősége

Az Elm nem használ szintaktikai jelölőket, például kapcsos zárójelet, zárójelet vagy pontosvesszőt a kódrészek határainak kijelölésére. Helyettük szóközöket és behúzásokat használ.

  • A modul-, import- és legfelső szintű függvénydefinícióknak a bal szélső oszlopban kell kezdődniük.
  • Ha egy kifejezés több sorra tagolódik, a kifejezéshez tartozó kódot legalább egy szóközzel be kell húzni a kifejezés alá.
  • A kifejezés összetartozó részeit ugyanannyi szóközzel érdemes behúzni.
-- A function split over multiple lines, so subsequent lines must be indented
add number1 number2 =
    number1 + number2

https://elmprogramming.com/indentation.html

Modulok

Az Elmben minden fájl egy modul, és minden más kód előtt szerepelnie kell benne egy module utasításnak. A modulneveknek meg kell egyezniük a fájlnevükkel, így a Calculator modulnak a Calculator.elm fájlban kell lennie. A modulon belül definiált bármi privát a láthatósága, és kívülről nem érhető el, kivéve, ha szerepel az exposing listában.

-- 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

Kommentek

A komment az Elm-fájlban lévő szöveg, amelyet a program nem kódként értelmez. Elsősorban arra szolgál, hogy te és a többi programozó elolvassátok. Az egysoros kommentekhez van egy egyszerű szintaxis, amely két egymást követő kötőjelen alapul. Többsoros kommentek is írhatók a {- és -} nyitó és záró határoló párral.

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

{- a multiline comment
   spawning multiple lines
-}

Formázás

Létezik egy stílusútmutató, és az elm-format segítségével automatikusan formázhatod a kódot.

Utasítások

Ebben a feladatban olyan kódot írsz majd, amely segít elkészíteni egy ragyogó lasagnét a kedvenc szakácskönyvedből.

Három részfeladat vár rád, és mindegyik a lasagne elkészítésével töltött időhöz kapcsolódik.

1. Határozd meg a várható sütési időt percben

Definiáld az expectedMinutesInOven értéket, amely kiszámítja, hány percig kell a lasagnének a sütőben lennie. A szakácskönyv szerint a várható sütési idő 40 perc:

expectedMinutesInOven
    --> 40

2. Számítsd ki az előkészítési időt percben

Definiáld a preparationTimeInMinutes függvényt, amely paraméterként megkapja a lasagne rétegeinek számát, és visszaadja, hány percbe telik a lasagne előkészítése, feltéve hogy minden réteg előkészítése 2 percet vesz igénybe.

preparationTimeInMinutes 3
    --> 6

3. Számítsd ki az eltelt időt percben

Definiáld az elapsedTimeInMinutes függvényt, amely két paramétert kap: az első paraméter a lasagne rétegeinek száma, a második pedig az, hogy hány percet töltött már a lasagne a sütőben. A függvény adja vissza, hány percet dolgoztál a lasagne elkészítésén, ami nem más, mint az előkészítési idő és a lasagne által a sütőben eddig eltöltött idő összege.

elapsedTimeInMinutes 3 20
    --> 26
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Elm Exercism

Készen állsz elkezdeni a(z) Lucian ínycsiklandó lasagnéja feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) Elm nyelvet 28 fogalom110 feladat segítségével, valódi emberi mentorálással, mindez ingyen.