Діапазони представляють послідовність з одного або багатьох послідовних цілих чисел. Їх створюють, зʼєднуючи два цілих числа оператором ...
1..5
Діапазони бувають зростаючими або спадними. Вони завжди включають перше й останнє значення.
Діапазон реалізує протокол Enumerable, тобто функції з модуля Enum можна використовувати для роботи з діапазонами.
Як шанувальники шахів, ми хотіли б написати власну версію гри. Так, можливо, у мережі вже є чимало реалізацій шахів, але наша буде неповторною!
Але перш ніж дати волю уяві, нам треба подбати про основи. Почнімо зі створення дошки.
Кожна клітинка шахівниці позначається парою «літера-число». Вертикальні стовпці клітинок, які називаються вертикалями, позначені літерами від A до H. Горизонтальні ряди клітинок, які називаються горизонталями, пронумеровані від 1 до 8.
Реалізуйте функцію rank_range/0. Вона повинна повертати діапазон цілих чисел від 1 до 8.
Chessboard.rank_range()
Реалізуйте функцію file_range/0. Вона повинна повертати діапазон цілих чисел від коду символа великої літери A до коду символа великої літери H.
Chessboard.file_range()
Реалізуйте функцію ranks/0. Вона повинна повертати масив цілих чисел від 1 до 8. Не записуйте масив вручну, а згенеруйте його з діапазону, який повертає функція rank_range/0.
Chessboard.ranks()
# => [1, 2, 3, 4, 5, 6, 7, 8]
Реалізуйте функцію files/0. Вона повинна повертати масив літер, тобто рядків тексту (англ. string), від "A" до "H". Не записуйте масив вручну, а згенеруйте його з діапазону, який повертає функція file_range/0.
Chessboard.files()
# => ["A", "B", "C", "D", "E", "F", "G", "H"]
Зареєструйтеся на Exercism, щоб вивчати й опановувати Elixir, а також 58 концепцій168 вправ та справжнє наставництво від людей, і все це безкоштовно.