看来我们总是可以使用&:+。为什么inject可以取:+而map必须取&:to_s?如果原因是map不能带符号而必须带block,那么map也带符号有意义吗?[1,3,5].inject(:+)#=>9[1,3,5].inject(&:+)#=>9[1,3,5].map(&:to_s)#=>["1","3","5"][1,3,5].map(:to_s)#=>ArgumentError:wrongnumberofarguments(1for0) 最佳答案 这是设计使然。inject允许使用替代语法来获取符号,而map始终需要一个blo