相关疑难解决方法(0)

"(1..4).inject(&:+)"如何在Ruby中工作

我发现Ruby中的这段代码非常有趣

(1..4).inject(&:+)
Run Code Online (Sandbox Code Playgroud)

好的,我知道是什么inject,我知道这段代码基本上相当于

(1..4).inject(0) {|a,n| a + n}
Run Code Online (Sandbox Code Playgroud)

但它究竟是如何运作的呢?

为什么&:+和写块一样{|a,n| a + n}

为什么它不需要初始值?我很好,正常值为0,但(1..4).inject(&:*)也有效,初始值必须为1 ...

ruby

13
推荐指数
1
解决办法
2603
查看次数

标签 统计

ruby ×1