如何在Ruby中替换二维数组中的所有值

时间:2014-01-19 14:11:17

标签: ruby arrays map string-substitution

我有一个看起来像这样的二维数组:

[true,false,false]
[false,true,false]
[false,false,true]

我希望我可以用'true'(字符串)替换所有 true(bool)值,并用替换所有 false > '假'

2 个答案:

答案 0 :(得分:6)

是的,请使用Array#map执行以下操作:

a = [[true,false,false], [false,true,false], [false,false,true]]
# you can also assign this to a new local variable instead of a,
# if you need to use your source array object in future anywhere.
a = a.map { |e| e.map(&:to_s) } 

答案 1 :(得分:3)

假设你有一个数组数组:

a = [[true,false,false], [false,true,false], [false,false,true]]
a.each { |x| x.map!(&:to_s) }
a # => [["true", "false", "false"], ["false", "true", "false"], ["false", "false", "true"]]