我有以下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) }