Tracks
/
Gleam
Gleam
/
Ejercicios
/
Amor de secundaria
Amor de secundaria

Amor de secundaria

Ejercicio de aprendizaje

Introducción

El operador de tubería

El operador |> se llama operador de tubería. Se puede usar para encadenar llamadas a funciones de manera que el valor devuelto por la llamada anterior se pase a la siguiente llamada.

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

El código de arriba es equivalente al siguiente:

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

El operador de tubería pasa el valor como primer argumento de la llamada a la función, o como único argumento de una nueva llamada, eligiendo la opción que tenga el tipo correcto.

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)

A veces queremos pasar el valor a otra posición; en ese caso, podemos usar el marcador de posición _ para indicar dónde se debe insertar el valor.

100
|> some_function(1, _, 2)

Instrucciones

En este ejercicio vas a ayudar a una pareja de novios de secundaria a declarar su amor en las redes sociales generando un corazón ASCII con sus iniciales:

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

1. Obtén la primera letra del nombre

Implementa la función first_letter. Debe tomar un nombre y devolver su primera letra. Además, debe eliminar los espacios en blanco innecesarios del nombre.

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

2. Formatea la primera letra como una inicial

Implementa la función initial. Debe tomar un nombre y devolver su primera letra en mayúscula, seguida de un punto. Asegúrate de reutilizar first_letter, que definiste en el paso anterior.

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

3. Divide el nombre completo en el nombre y el apellido

Implementa la función initials. Debe tomar un nombre completo, formado por un nombre y un apellido separados por un espacio, y devolver las iniciales. Asegúrate de reutilizar initial, que definiste en el paso anterior.

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

4. Coloca las iniciales dentro del corazón

Implementa la función pair. Debe tomar dos nombres completos y devolver las iniciales dentro de un corazón ASCII. Asegúrate de reutilizar initials, que definiste en el paso anterior.

pair("Blake Miller", "Riley Lewis")
// -> "
//      ******       ******
//    **      **   **      **
//  **         ** **         **
// **            *            **
// **                         **
// **     B. M.  +  R. L.     **
//  **                       **
//    **                   **
//      **               **
//        **           **
//          **       **
//            **   **
//              ***
//               *
// "
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Gleam Exercism

¿Todo listo para empezar Amor de secundaria?

Regístrate en Exercism para aprender y dominar Gleam con 33 conceptos122 ejercicios y mentoría humana real, todo gratis.