Как составить список в Ruby? - PullRequest
0 голосов
/ 08 апреля 2011

Я новичок в Ruby, и мне не удалось ответить на этот простой вопрос:

Как обычно получить список чисел [1, 2, ..., n] в Ruby? В Хаскеле я просто набираю [1..n], и я уверен, что это легко сделать и в Ruby, но я не могу этого догадаться.

Ответы [ 4 ]

14 голосов
/ 08 апреля 2011

1..n - это диапазон в рубине.Вы можете преобразовать его в массив, используя (1..n).to_a или более короткую форму [*1..n].

В зависимости от того, что вы делаете, прямое использование диапазона может быть более эффективным.

3 голосов
/ 08 апреля 2011

В Ruby есть объекты специального диапазона, записанные как 1..10 или как угодно. Для многих целей вы можете использовать один из них вместо массива. Если вам нужен массив, вызовите метод to_a объекта диапазона:

(1..10).to_a
1 голос
/ 11 апреля 2011

Другой подход

1.upto(9).to_a

Довольно скучно само по себе, но вы также можете сделать

1.step(10, 3).to_a #=> [1, 4, 7, 10]
1 голос
/ 08 апреля 2011

Вы имеете в виду диапазон? Вы можете сделать это так:

(0..n)

Это даст вам массив с номерами от 0 до 9.

Для получения дополнительной информации о диапазонах и массивах, посетите здесь: http://www.ruby -doc.org / core / classes / Range.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...