В конце концов я случайно сделал эквивалент этого в 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, проверка завершится бесконечным циклом: