Kurzusok
/
Elixir
Elixir
/
Feladatok
/
Névkitűző
Névkitűző

Névkitűző

Tanulófeladat

Bevezetés

Nil

A Nil egy angol szó, amely azt jelenti, hogy „semmi” vagy „nulla”. Az Elixirben a nil egy speciális érték, amely egy érték hiányát jelöli.

# I do not have a favorite color
favorite_color = nil

Más programozási nyelvekben a null vagy a none értékek hasonló szerepet tölthetnek be.

If

A cond mellett az Elixir a if/2 makrót is biztosítja, amely akkor hasznos, ha csak egyetlen feltételt kell ellenőrizned.

Az if/2 egy feltételt és két lehetőséget fogad. Az első lehetőséget adja vissza, ha a feltétel truthy, és a másodikat, ha a feltétel falsy.

age = 15

if age >= 16 do
  "You are allowed to drink beer in Germany."
else
  "No beer for you!"
end

# => "No beer for you!"

Az if kifejezést egyetlen sorban is leírhatod. Figyeld meg a feltétel utáni vesszőt.

if age > 16, do: "beer", else: "no beer"

Ez a szintaxis nagyon rövid kifejezéseknél hasznos, de kerüld, ha a kifejezés nem fér el egyetlen sorban.

truthy és falsy

Az Elixirben minden adattípus truthy vagy falsy értékre értékelődik ki, amikor logikai kontextusban (például egy if kifejezésben) találkozik vele a program. Minden adat truthy-nak számít, kivéve a false és a nil értéket. Az üres stringek, a 0 egész szám és az üres listák például mind truthy-nak számítanak az Elixirben.

Utasítások

Ebben a feladatban olyan kódot írsz, amely névjelvényeket nyomtat egy gyár alkalmazottai számára. Minden alkalmazottnak van azonosítója, neve és részlegneve. Az alkalmazotti jelvények felirata a következő formátumú: "[id] - name - DEPARTMENT".

1. Nyomtass jelvényt egy alkalmazottnak

Valósítsd meg a NameBadge.print/3 függvényt. Paraméterként egy azonosítót, egy nevet és egy részleget kap. Adja vissza a jelvény feliratát úgy, hogy a részleg neve nagybetűvel szerepel benne.

NameBadge.print(67, "Katherine Williams", "Strategic Communication")
# => "[67] - Katherine Williams - STRATEGIC COMMUNICATION"

2. Nyomtass jelvényt egy új alkalmazottnak

A számítógépes rendszer sajátossága miatt előfordul, hogy az új alkalmazottaknak a gyárban való kezdéskor még nincs azonosítójuk. Mivel a jelvény kötelező, ideiglenes jelvényt kapnak, amelyen nincs ott az azonosító előtagja.

Egészítsd ki a NameBadge.print/3 függvényt. Ha hiányzik az azonosító, akkor a függvény az azonosító nélkül nyomtatja ki a jelvényt.

NameBadge.print(nil, "Robert Johnson", "Procurement")
# => "Robert Johnson - PROCUREMENT"

3. Nyomtass jelvényt a tulajdonosnak

Még a gyár tulajdonosának is mindig jelvényt kell viselnie. A tulajdonosnak viszont nincs részlege. Ebben az esetben a feliraton a részleg neve helyett "OWNER" szerepel.

Egészítsd ki a NameBadge.print/3 függvényt. Ha hiányzik a részleg, akkor feltételezd, hogy a jelvény a cég tulajdonosáé.

NameBadge.print(204, "Rachel Miller", nil)
# => "[204] - Rachel Miller - OWNER"

Vedd figyelembe, hogy előfordulhat, hogy a tulajdonos egyben új alkalmazott is.

NameBadge.print(nil, "Rachel Miller", nil)
# => "Rachel Miller - OWNER"
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Elixir Exercism

Készen állsz elkezdeni a(z) Névkitűző feladatot?

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