I range rappresentano una sequenza di uno o più numeri interi consecutivi. Si creano collegando due numeri interi con ...
1..5
I range possono essere ascendenti o discendenti: includono sempre il primo e l'ultimo valore.
Un range implementa il protocollo Enumerable: le funzioni del modulo Enum possono essere usate per lavorare con i range.
Da appassionato di scacchi, ti piacerebbe scrivere la tua versione del gioco. Sì, probabilmente ci sono già molte implementazioni di scacchi disponibili online, ma la tua sarà unica!
Ma prima di dare libero sfogo alla tua immaginazione, devi occuparti delle basi. Iniziamo generando la scacchiera.
Ogni casella della scacchiera è identificata da una coppia lettera-numero. Le colonne verticali di caselle, chiamate file, sono contrassegnate dalle lettere da A a H. Le righe orizzontali di caselle, chiamate ranks, sono numerate da 1 a 8.
Implementa la funzione rank_range/0. Deve restituire un intervallo di numeri interi, da 1 a 8.
Chessboard.rank_range()
Implementa la funzione file_range/0. Deve restituire un intervallo di numeri interi, dal code point della lettera maiuscola A al code point della lettera maiuscola H.
Chessboard.file_range()
Implementa la funzione ranks/0. Deve restituire un array di numeri interi, da 1 a 8. Non scrivere l'array a mano, generalo dall'intervallo restituito dalla funzione rank_range/0.
Chessboard.ranks()
# => [1, 2, 3, 4, 5, 6, 7, 8]
Implementa la funzione files/0. Deve restituire un array di lettere (stringhe), da "A" a "H". Non scrivere l'array a mano, generalo dall'intervallo restituito dalla funzione file_range/0.
Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
Iscriviti a Exercism per imparare e padroneggiare Elixir con 58 concetti168 esercizi e il mentoring di persone reali, tutto gratis.