转换二维数组的元素



我有以下3x3数组:

grid = [["1","2","3"],["4","5","6"],["7","8","9"]]

我想将每个数字从字符串转换为Fixnum。我试过了:

grid.each{ |thing| thing.each { |subthing| subthing = subthing.to_i }}

但是,puts grid[0][0].class仍然输出String

each只是对每个值进行迭代,它不会更改内容。尝试使用map

foo = grid.map{ |a| a.map(&:to_i) }  # foo => [[1,2,3,],[4,5,6],[7,8,9]], but grid is still the original

如果你想更新网格:

grid.each { |a| a.map!(&:to_i) }

最新更新