如何在ruby中打印多维数组?

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)


ogo*_*erg 6

如果您想要获取多维数组并将其呈现为二维图形的可视化表示,则可以很好地工作:

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)