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

时间:2017-12-20 19:43:06

标签: arrays ruby

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

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

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

4 个答案:

答案 0 :(得分: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]]

答案 1 :(得分:2)

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

puts array.map(&:inspect)

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

希望这有帮助!

答案 2 :(得分:2)

以下内容应该有效:

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

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

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

答案 3 :(得分:2)

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

def array.inspect
  map(&:to_s).join("\n")
end
p array
# [1, 2, 3]
# [8, 9, 4]
# [7, 6, 5]