dsg*_*dsg 7 ruby printing multidimensional-array
在ruby中打印多维数组的首选方法是什么?
例如,假设我有这个2D数组:
x = [ [1, 2, 3], [4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)
我尝试打印它:
>> print x
123456
Run Code Online (Sandbox Code Playgroud)
什么不起作用:
>> puts x
1
2
3
4
5
6
Run Code Online (Sandbox Code Playgroud)
spi*_*ike 12
如果您只是在寻找易于阅读的调试输出,那么"p"很有用(它会调用数组上的inspect())
p x
[[1, 2, 3], [4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)
或者:
p x
Run Code Online (Sandbox Code Playgroud)
-要么-
require 'pp'
. . .
pp x
Run Code Online (Sandbox Code Playgroud)
如果您想要获取多维数组并将其呈现为二维图形的可视化表示,则可以很好地工作:
x.each do |r|
puts r.each { |p| p }.join(" ")
end
Run Code Online (Sandbox Code Playgroud)
然后你在终端中以这样的结尾:
1 2 3
4 5 6
7 8 9
Run Code Online (Sandbox Code Playgroud)