Rutas
/
Elixir
Elixir
/
Ejercicios
/
Amor de instituto
Amor de instituto

Amor de instituto

Ejercicio de aprendizaje

Introducción

Cadenas de caracteres

Las cadenas de caracteres en Elixir están delimitadas por comillas dobles y se codifican 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 admiten interpolación con la sintaxis #{}:

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

Para incluir 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 en su lugar la sintaxis heredoc de comillas dobles triples:

"""
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 forma que el valor devuelto por la llamada anterior se pase 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 instituto 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. También debe eliminar los espacios en blanco innecesarios del nombre.

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

2. Da formato a la primera letra como 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 incluida 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 pestaña nueva
Elixir Exercism

¿Listo para empezar Amor de instituto?

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