Los rangos representan una secuencia de uno o varios números enteros consecutivos. Se crean uniendo 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.
Como aficionado al ajedrez, te gustaría escribir tu propia versión del juego. Sí, puede que ya haya muchas implementaciones de ajedrez disponibles en internet, pero la tuya será única.
Pero antes de dejar volar tu imaginación, tienes que ocuparte de lo básico. Empecemos por generar el tablero.
Cada casilla del tablero de ajedrez se identifica por un par letra-número. Las columnas verticales de casillas están etiquetadas de la A a la H. Las filas horizontales de casillas están numeradas del 1 al 8.
Implementa la función rank_range/0. Debería devolver un rango de números enteros, del 1 al 8.
Chessboard.rank_range()
Implementa la función file_range/0. Debería devolver un rango de números enteros, desde el punto de código de la letra mayúscula A hasta el punto de código de la letra mayúscula H.
Chessboard.file_range()
Implementa la función ranks/0. Debería devolver un array de números enteros, del 1 al 8. No escribas el array a mano; genéralo 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. Debería devolver un array de letras (strings), de la «A» a la «H». No escribas el array a mano; genéralo 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.