我在另一个晚上意外地在Ruby中做了相同的事情:
a = *1..5 # => [1, 2, 3, 4, 5]
a << a
a # => [1, 2, 3, 4, 5, [...]]
a.last # => [1, 2, 3, 4, 5, [...]]
Run Code Online (Sandbox Code Playgroud)
[...]我能用它做什么,有什么用呢?
这就是 Array.inspect 显示递归数组的方式。a 的最后一个元素是 a 本身。如果 where 显示在 5 之后,inspect 将陷入无限循环:
[1, 2, 3, 4, 5, [1, 2, 3, 4, 5, [1, 2, 3, 4, 5, [1, 2, 3, 4, 5, [...]]]]]
Run Code Online (Sandbox Code Playgroud)