给定以下数组,如何在多行上打印出来

问题描述 投票:0回答:4
array = [[1, 2, 3], [8, 9, 4], [7, 6, 5]]

我一直把它放在一行,如何在终端中打印出来,这样每个阵列都在各自的行上,如下所示:

[[1, 2, 3], 
 [8, 9, 4], 
 [7, 6, 5]]
arrays ruby
4个回答
2
投票

尝试在#inspect上打印array的映射结果,如下所示:

puts array.map(&:inspect)

# [1, 2, 3]
# [8, 9, 4]
# [7, 6, 5]

希望这可以帮助!


2
投票

以下应该有效:

   array.each do |sub|
     puts sub.join(", ")
   end

但是,这不包括[]字符,但是看起来像这样:

1, 2, 3
8, 9, 4
7, 6, 5

2
投票
array = [[1, 2, 3], [8, 9, 4], [7, 6, 5]]
puts array.to_s.gsub('],',"],\n")

#[[1, 2, 3],
# [8, 9, 4],
# [7, 6, 5]]

2
投票

只是为了好玩 - 你可以重新定义inspect方法,如:

def array.inspect
  map(&:to_s).join("\n")
end
p array
# [1, 2, 3]
# [8, 9, 4]
# [7, 6, 5]
© www.soinside.com 2019 - 2024. All rights reserved.