Tracks
/
Elixir
Elixir
/
Ejercicios
/
Amor de secundaria
Amor de secundaria

Amor de secundaria

Ejercicio de aprendizaje

Introducción

Cadenas

Las cadenas en Elixir se delimitan con comillas dobles y están codificadas en UTF-8:

"Hi!"

Los strings se pueden concatenar usando el operador <>/2:

"Welcome to" <> " " <> "New York"
# => "Welcome to New York"

Los strings en Elixir soportan interpolación usando la sintaxis #{}:

"6 * 7 = #{6 * 7}"
# => "6 * 7 = 42"

Para poner un carácter de salto de línea en un string, usa el código de escape \n:

"1\n2\n3\n"

Para trabajar cómodamente con textos con muchos saltos de línea, usa la sintaxis heredoc de triple comilla doble en su lugar:

"""
1
2
3
"""

Elixir proporciona muchas funciones para trabajar con strings en el módulo String.

Operador de tubería

El operador |> se llama operador de tubería. Se puede usar para encadenar llamadas a funciones de tal manera que el valor devuelto por la llamada a la función anterior se pasa como primer argumento a la siguiente llamada a función.

"hello"
|> String.upcase()
|> Kernel.<>("?!")

# => "HELLO?!"

Instrucciones

En este ejercicio, vas a ayudar a unos novios de secundaria a declarar su amor en las redes sociales generando una caja ASCII con sus iniciales:

❤-------------------❤
|  J. K.  +  M. B.  |
❤-------------------❤

1. Obtén la primera letra del nombre

Implementa la función HighSchoolSweetheart.first_letter/1. Debe tomar un nombre y devolver su primera letra. Debe limpiar cualquier espacio en blanco innecesario del nombre.

HighSchoolSweetheart.first_letter("Jane")
# => "J"

2. Formatea la primera letra como una inicial

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

HighSchoolSweetheart.initial("Robert")
# => "R."

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

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

HighSchoolSweetheart.initials("Lance Green")
# => "L. G."

4. Coloca las iniciales dentro de la caja ASCII

Implementa la función HighSchoolSweetheart.pair/2. Debe tomar dos nombres completos y devolver las iniciales dentro de una caja ASCII. No necesitas dibujar la caja tú mismo; usa la caja que viene en el comentario del código. Asegúrate de reutilizar HighSchoolSweetheart.initials/1, que definiste en el paso anterior.

HighSchoolSweetheart.pair("Blake Miller", "Riley Lewis")
# => """
# ❤-------------------❤
# |  B. M.  +  R. L.  |
# ❤-------------------❤
# """
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Elixir Exercism

¿Todo listo para empezar Amor de secundaria?

Regístrate en Exercism para aprender y dominar Elixir con 58 conceptos168 ejercicios y mentoría humana real, todo gratis.