Tag: 表示法

Ruby试图掌握一种新的符号。 (注入(:)与选择(&:偶数?);为什么有&?)

所以,我刚学会了,而不是写下这样的东西: [1,2,3,4,5].inject {|x,y| x + y} => 15 我可以写 [1,2,3,4,5].inject(:+) => 15 我也学会了而不是写作 [1,2,3,4,5].select {|x| x.even?} => [2,4] 我可以写 [1,2,3,4,5].select(&:even?) => [2,4] 我的问题是为什么一个(选择)使用&而另一个(注入)不使用。 我确定:是因为even? 和+在符号处理,但我喜欢澄清为什么&在一个中使用以及为什么使用: 。 另外,我知道我可以做的不只是inject和select这些符号。 非常感谢!