假设字符串参数可能包含整数:
def turn_string_into_integer_array(string)
array = string.split(" ").collect { |i| i.to_i }
end
如果在同一行中我想使用inject方法对整数求和,我将如何做到这一点,因为我在语句的末尾有一个块?
答案 0 :(得分:2)
您可以使用句号
将其链接到块的末尾def turn_string_into_integer_array(string)
string.split(" ").collect { |i| i.to_i }.inject(:+)
end
答案 1 :(得分:1)
为什么不直接调用该方法?
string.split(" ").collect { |i| i.to_i }.inject(0) {|acc, el| acc + el }
然而,这将更加惯用地写为
string.split(" ").map(&:to_i).inject(0, :+)