给定数组[1,2,3],是否有一种方法(除迭代之外)将其转换为整数123?
答案 0 :(得分:13)
只需加入数组并将结果字符串转换为整数:
[1,2,3].join.to_i
答案 1 :(得分:9)
如果您想避免与String进行转换,可以使用inject
:
[1,2,3].inject{|a,i| a*10 + i}
#=> 123
答案 2 :(得分:6)
我个人会用
Integer([1,2,3].join, 10) #=> 123
因为如果你有非数字数组元素,它会抛出一个你可以处理的异常的好副作用:
>> Integer([1,2,'a'].join, 10) # ArgumentError: invalid value for Integer: "12a"
将此与to_i
:
>> [1,2,'a'].join.to_i #=> 12