我想将字符串转换为整数数组。为什么我得到一个字符串数组?什么是实现我正在寻找的结果的正确方法?
"1234".chars.each { |n| n.to_i }
=> ["1", "2", "3", "4"]
答案 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)