Что [....] в Ruby?

В конце концов я случайно сделал эквивалент этого в Ruby:

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

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

Ответ 1

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

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