Los rangos representan una secuencia de uno o varios números enteros consecutivos. Se crean al unir dos números enteros con ...
1..5
Los rangos pueden ser ascendentes o descendentes. Siempre incluyen el primer y el último valor.
Un rango implementa el protocolo Enumerable, lo que significa que puedes usar las funciones del módulo Enum para trabajar con rangos.
Si te apasiona el ajedrez, te gustaría escribir tu propia versión del juego. Sí, puede que ya haya muchas implementaciones de ajedrez disponibles en línea, pero ¡la tuya será única!
Pero antes de dar rienda suelta a tu imaginación, tienes que ocuparte de lo básico. Empecemos por generar el tablero.
Cada casilla del tablero de ajedrez se identifica con un par de letra y número. Las columnas verticales de casillas se etiquetan de la A a la H, y las filas horizontales se numeran del 1 al 8.
Implementa la función rank_range/0. Debe devolver un rango de enteros, del 1 al 8.
Chessboard.rank_range()
Implementa la función file_range/0. Debe devolver un rango de enteros, desde el punto de código de la letra A mayúscula hasta el punto de código de la letra H mayúscula.
Chessboard.file_range()
Implementa la función ranks/0. Debe devolver una lista de enteros, del 1 al 8. No escribas la lista a mano; genérala a partir del rango que devuelve la función rank_range/0.
Chessboard.ranks()
# => [1, 2, 3, 4, 5, 6, 7, 8]
Implementa la función files/0. Debe devolver una lista de letras (strings), de "A" a "H". No escribas la lista a mano; genérala a partir del rango que devuelve la función file_range/0.
Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
Regístrate en Exercism para aprender y dominar Elixir con 58 conceptos168 ejercicios y mentoría humana real, todo gratis.