Intervalos representam uma sequência de um ou mais números inteiros consecutivos. Eles são criados ao conectar dois números inteiros com ...
1..5
Os intervalos podem ser crescentes ou decrescentes. Eles sempre incluem o primeiro e o último valor.
Um intervalo implementa o protocolo Enumerable, o que significa que as funções do módulo Enum podem ser usadas para trabalhar com intervalos.
Como entusiasta de xadrez, você gostaria de escrever a sua própria versão do jogo. Sim, talvez já existam várias implementações de xadrez disponíveis online, mas a sua vai ser única!
Mas antes de soltar a imaginação, você precisa cuidar do básico. Vamos começar gerando o tabuleiro.
Cada casa do tabuleiro de xadrez é identificada por um par de letra e número. As faixas verticais de casas, chamadas de colunas, são identificadas pelas letras de A a H. As faixas horizontais de casas, chamadas de fileiras, são numeradas de 1 a 8.
Implemente a função rank_range/0. Ela deve retornar um intervalo de números inteiros, de 1 a 8.
Chessboard.rank_range()
Implemente a função file_range/0. Ela deve retornar um intervalo de números inteiros, do ponto de código da letra A maiúscula até o ponto de código da letra H maiúscula.
Chessboard.file_range()
Implemente a função ranks/0. Ela deve retornar uma lista de números inteiros, de 1 a 8. Não escreva a lista à mão, gere-a a partir do intervalo retornado pela função rank_range/0.
Chessboard.ranks()
# => [1, 2, 3, 4, 5, 6, 7, 8]
Implemente a função files/0. Ela deve retornar uma lista de letras (strings), de "A" a "H". Não escreva a lista à mão, gere-a a partir do intervalo retornado pela função file_range/0.
Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
Crie sua conta no Exercism para aprender e dominar Elixir com 58 conceitos168 exercícios e mentoria humana de verdade, tudo de graça.