Lasagne

Lasagne

Tanulófeladat

Bevezetés

Változók és értékadás

Az R dinamikusan típusos nyelv, ezért általában nem kell megadni egy változó típusát. Az ajánlott értékadó operátor a <-.

x <- 42
avogadro <- 6.02e23
mystr <- "Hello, World!"

Ha a <- helyett =-t használsz, az gyakran, de nem mindig működik, és rossz stílusnak számít. Ha RStudio-ban dolgozol, a Alt-minus billentyűparanccsal írhatod be.

Az operátorok többnyire megszokottak, de figyelj a %/% és a %% operátorra:

2 + 3   # 5
2 - 3   # -1
2 * 3   # 6
2 / 3   # 0.6666667
8 %/% 3 # 2 (integer division)
8 %% 3  # 2 (remainder)
2 ^ 3   # 8 (exponential)

Az R-ben a # egysoros megjegyzést indít. A többsoros megjegyzésekhez nincs külön szintaxis.

Függvények

Így definiálhatsz egy függvényt:

squareit <- function(x) {
    x * x
}

A függvényeknek nulla vagy több argumentuma lehet, amelyeket vessző választ el. A function() után akkor is kellenek a zárójelek (), ha egyetlen paraméter sincs.

A függvény argumentumaihoz megadhatsz alapértelmezett értéket, ezeknek azonban minden alapértelmezés nélküli argumentum után kell következniük, és az alapértelmezett érték megadásához =-t kell használni, nem <--ot. Egy meglehetősen értelmetlen példa:

squareit <- function(x = 42) {
    x * x
}

squareit()
#> [1] 1764

Az egysoros függvénytestekhez a kapcsos zárójelek { } szigorúan véve nem kötelezőek, de a használatuk jó stílusnak számít.

Az R automatikusan visszaadja a függvény utolsó értékét, ahogy a fenti példákban is látszik.

A return() a függvénytest bármely pontján használható, hogy a visszatérési értéket explicit módon megadd.

Egy függvény meghívása ugyanúgy néz ki, mint sok más nyelvben:

squareit(3)
#> [1] 9

Utasítások

Ebben a feladatban kódot írsz majd, hogy segíts megsütni egy remek lasagnét a kedvenc szakácskönyvedből.

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

1. Határozd meg a sütőben eltöltendő várható időt percekben

Definiáld az expected_minutes_in_oven() függvényt, amely nem vesz át paramétereket, és visszaadja, hogy hány percig kell a lasagnének a sütőben lennie. A szakácskönyv szerint a sütőben eltöltendő várható idő 60 perc.

> expected_minutes_in_oven()
[1] 60

2. Számítsd ki a sütőben hátralévő időt percekben

Definiáld a remaining_time_in_minutes függvényt, amely paraméterként átveszi, hogy a lasagne hány perce van a sütőben, és visszaadja, hogy az előző részfeladatban megadott várható sütési idő alapján hány percig kell még a sütőben maradnia.

> remaining_time_in_minutes(50)
[1] 10

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

Definiáld a prep_time_in_minutes() függvényt, amely paraméterként átveszi a lasagnébe tett rétegek számát, és visszaadja, hogy hány percet töltöttél a lasagne előkészítésével, feltéve, hogy egy réteg elkészítése 2 percet vesz igénybe.

> prep_time_in_minutes(2)
[1] 4

4. Számítsd ki az eltelt időt percekben

Definiáld az elapsed_time_in_minutes függvényt, amely két argumentumot vár: az első argumentum a lasagnébe tett rétegek száma, a második paraméter pedig az, hogy hány perce van a lasagne a sütőben. A függvény adja vissza, hogy összesen hány percet dolgoztál a lasagne elkészítésén, ami az előkészítési idő és a lasagnének a sütőben eddig eltöltött idejének az összege.

> elapsed_time_in_minutes(3, 20)
[1] 26
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
R Exercism

Készen állsz elkezdeni a(z) Lasagne feladatot?

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