2013-02-15 4 views
10

я в конечном итоге случайно делает эквивалент этого в Руби другая ночь:Что такое [....] в Ruby?

a = *1..5 # => [1, 2, 3, 4, 5] 
a << a 
a   # => [1, 2, 3, 4, 5, [...]] 
a.last  # => [1, 2, 3, 4, 5, [...]] 

Что такое [...] и что я могу с ним делать?

+2

Я предполагаю, что это всего лишь разметка презентации, недействительный синтаксис. Что касается рекурсивных массивов - я их никогда не использовал. –

+1

hah, не видел этого раньше :) –

+4

Это человек для «omg so much output». Не знаете, в чем вопрос, однако, о какой «ссылке» вы имеете в виду? –

ответ

4

Просто Array.inspect отображает рекурсивные массивы. Последний Элемент а есть сам. Если a, отображаемое после 5, проверка закончится в бесконечном цикле:

[1, 2, 3, 4, 5, [1, 2, 3, 4, 5, [1, 2, 3, 4, 5, [1, 2, 3, 4, 5, [...]]]]] 
+1

или попробуйте 'a.flatten' –

+0

;-) или' a.join (',') ' –

Смежные вопросы