在返回array.inject(:+)+ initial_value的上下文中,":+"意思?

时间:2015-01-25 01:16:11

标签: ruby

是运营商吗?如果是,它是如何使用的?还是它指向某事? 我已经在注入方法中查找了它的用法示例,但我真正可以收集的是它在某种程度上像{| sum,n | sum + n}。

2 个答案:

答案 0 :(得分:4)

:+是一个符号。

您可以在IRB中看到它:

> :+.class
=> Symbol

在此上下文中,它实际上代表+方法,而inject将调用> 5.send(:+, 3) => 8 方法。

您可以自己动态调用它,如下所示:

> 5 + 3
=> 8

相当于:

{{1}}

答案 1 :(得分:0)

您可以查看此内容 How does "(1..4).inject(&:+)" work in Ruby

这个 What are :+ and &:+ in Ruby?

然后你会完全理解:)