小编Sha*_*ler的帖子

如果我在注入块中使用'p'函数,则减少/注入错误

我在irb中输入以下代码:

(1..5).reduce([]){|a,b| p a,b }
Run Code Online (Sandbox Code Playgroud)

预期结果将是:

[]
1
[]
2
[]
3
[]
4
[]
5
=> []
Run Code Online (Sandbox Code Playgroud)

由于我没有修改任何一点的返回值inject将是[]

但由于奇怪的原因,我得到了这个:

[]
1
[[], 1]
2
[[[], 1], 2]
3
[[[[], 1], 2], 3]
4
[[[[[], 1], 2], 3], 4]
5
=> [[[[[[], 1], 2], 3], 4], 5]
Run Code Online (Sandbox Code Playgroud)

inject当我甚至没有更改它时,为什么返回值从最初修改?请有人请点亮它.

我正在使用MRI 1.9.2

谢谢

ruby

2
推荐指数
1
解决办法
153
查看次数

标签 统计

ruby ×1