Ruby中的[....]是什么?

Joh*_*son 10 ruby object

我在另一个晚上意外地在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)

[...]我能用它做什么,有什么用呢?

Tor*_*zki 4

这就是 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)