Ruby:字符串到整数数组

时间:2015-02-05 08:01:58

标签: ruby

我想将字符串转换为整数数组。为什么我得到一个字符串数组?什么是实现我正在寻找的结果的正确方法?

"1234".chars.each { |n| n.to_i }

=> ["1", "2", "3", "4"]

1 个答案:

答案 0 :(得分:5)

因为each返回调用它的同一个数组。您需要map

'1234'.chars.map(&:to_i)

这是一个简写符号:

'1234'.chars.map { |el| el.to_i }

并返回:

# => [1, 2, 3, 4]

正如Cary Swoveland建议的那样,您也可以使用each_char方法来阻止创建其他数组(each_char返回枚举器):

'1234'.each_char.map(&:to_i)