Я новичок в Ruby, и мне не удалось ответить на этот простой вопрос:
Как обычно получить список чисел [1, 2, ..., n] в Ruby? В Хаскеле я просто набираю [1..n], и я уверен, что это легко сделать и в Ruby, но я не могу этого догадаться.
[1, 2, ..., n]
[1..n]
1..n - это диапазон в рубине.Вы можете преобразовать его в массив, используя (1..n).to_a или более короткую форму [*1..n].
1..n
(1..n).to_a
[*1..n]
В зависимости от того, что вы делаете, прямое использование диапазона может быть более эффективным.
В Ruby есть объекты специального диапазона, записанные как 1..10 или как угодно. Для многих целей вы можете использовать один из них вместо массива. Если вам нужен массив, вызовите метод to_a объекта диапазона:
1..10
to_a
(1..10).to_a
Другой подход
1.upto(9).to_a
Довольно скучно само по себе, но вы также можете сделать
1.step(10, 3).to_a #=> [1, 4, 7, 10]
Вы имеете в виду диапазон? Вы можете сделать это так:
(0..n)
Это даст вам массив с номерами от 0 до 9.
Для получения дополнительной информации о диапазонах и массивах, посетите здесь: http://www.ruby -doc.org / core / classes / Range.html