Ruby 红宝石型问题

Ruby 红宝石型问题,ruby,Ruby,我从XML文件中读取数据,然后将数据从字符串转换为整数,但是当我试图处理数据时,Ruby声称对象是String类型的。这对我来说没有意义,因为我将所有元素都转换为integer类型 #converts the string data array to an integer array def self.barify_data(data) data.each{ |i| i.to_i() } end data = BarChart.barify_data(data) data.each {

我从XML文件中读取数据,然后将数据从字符串转换为整数,但是当我试图处理数据时,Ruby声称对象是String类型的。这对我来说没有意义,因为我将所有元素都转换为integer类型

#converts the string data array to an integer array
def self.barify_data(data)
    data.each{ |i| i.to_i() }
end

data = BarChart.barify_data(data)
data.each {|d| puts d.class }
这将产生:

String
String
String
String
String
String
String
String
String
String
String
String
String
有谁能告诉我为什么转换没有发生

谢谢。

each方法为每个元素运行块,但返回原始元素


你可能在找地图

谢谢,我就知道这很简单。;但我想不出来。更具体地说,
可枚举映射方法.OP返回修改后的数组并将其重新分配给数据#在这种情况下,地图会很好。