How to Concatenate Integer Array to Single Integer in Ruby How to Concatenate Integer Array to Single Integer in Ruby ruby ruby

How to Concatenate Integer Array to Single Integer in Ruby


Just join the array and convert the resulted string to an integer:

[1,2,3].join.to_i


If you want to avoid converting to and from a String, you can use inject:

[1,2,3].inject{|a,i| a*10 + i}#=> 123


Personally I would use

Integer([1,2,3].join, 10) #=> 123

since it has the nice side-effect of throwing an exception that you can deal with if you have non-numeric array elements:

>> Integer([1,2,'a'].join, 10) # ArgumentError: invalid value for Integer: "12a"

Compare this to to_i:

>> [1,2,'a'].join.to_i #=> 12