Kurzusok
/
Gleam
Gleam
/
Feladatok
/
Gimis szerelem
Gimis szerelem

Gimis szerelem

Tanulófeladat

Bevezetés

Pipe operátor

A |> operátor neve pipe operátor. Arra használható, hogy egymás után fűzd vele a függvényhívásokat úgy, hogy az előző függvényhívás által visszaadott érték a következő függvényhívásnak adódjon át.

"hello"
|> string.uppercase
|> string.append("?!")
// -> "HELLO?!"

A fenti kód ugyanazt jelenti, mint a következő:

string.append(string.uppercase("hello"), "?!")

A pipe operátor az értéket vagy első argumentumként adja át a függvényhívásnak, vagy egyetlen argumentumként egy új hívásnak, attól függően, hogy melyiknél lesz a típus helyes.

100
|> function_that_takes_two_arguments(1)

// Is equivalent to
function_that_takes_two_arguments(100, 1)
100
|> function_that_returns_a_function(1)

// Is equivalent to
function_that_returns_a_function(1)(100)

Néha az értéket egy másik pozícióba szeretnénk átadni, ilyenkor a _ helyőrzővel jelölhetjük meg, hova kerüljön az érték.

100
|> some_function(1, _, 2)

Utasítások

Ebben a feladatban középiskolás szerelmespároknak segítesz, hogy a közösségi médiában nyilvánosan kifejezzék a szerelmüket: egy ASCII-szívet rajzolsz a névbetűikkel:

     ******       ******
   **      **   **      **
 **         ** **         **
**            *            **
**                         **
**     J. K.  +  M. B.     **
 **                       **
   **                   **
     **               **
       **           **
         **       **
           **   **
             ***
              *

1. Szerezd meg a név első betűjét

Valósítsd meg a first_letter függvényt. A függvény egy nevet kap, és visszaadja annak első betűjét. A névből eltávolít minden felesleges szóközt.

first_letter("Jane")
// -> "J"

2. Formázd a nevet névbetűvé

Valósítsd meg az initial függvényt. A függvény egy nevet kap, és visszaadja annak első betűjét nagybetűvel, mögötte egy ponttal. Ügyelj rá, hogy újra felhasználd a first_letter függvényt, amit az előző lépésben definiáltál.

initial("Robert")
// -> "R."

3. Bontsd fel a teljes nevet keresztnévre és vezetéknévre

Valósítsd meg az initials függvényt. A függvény egy teljes nevet kap, amely egy keresztnévből és egy vezetéknévből áll, szóközzel elválasztva, és visszaadja a névbetűket. Ügyelj rá, hogy újra felhasználd az initial függvényt, amit az előző lépésben definiáltál.

initials("Lance Green")
// -> "L. G."

4. Tedd a névbetűket a szívbe

Valósítsd meg a pair függvényt. A függvény két teljes nevet kap, és visszaadja a névbetűket egy ASCII-szív belsejében. Ügyelj rá, hogy újra felhasználd az initials függvényt, amit az előző lépésben definiáltál.

pair("Blake Miller", "Riley Lewis")
// -> "
//      ******       ******
//    **      **   **      **
//  **         ** **         **
// **            *            **
// **                         **
// **     B. M.  +  R. L.     **
//  **                       **
//    **                   **
//      **               **
//        **           **
//          **       **
//            **   **
//              ***
//               *
// "
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
Gleam Exercism

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

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