在Ruby中在控制台中的一行上打印一个数组数组(每个主数组对象一行)

时间:2012-03-15 19:30:11

标签: ruby arrays

我有一个数组数组,当前正在自己​​的行上打印数组中的每个对象。主数组中包含许多不同的人。每个人都有5个不同的对象存储(例如姓氏,名字,DOB等)

Kournikova
Anna
F
6/3/1975
Red

Hingis
Martina
F
4/2/1979
Green

Seles
Monica
F
12/2/1973
Black

我要做的是每人打印一个人及其相应的物品。

有人有解决方案吗?此外,输出不应包含数组括号([])或逗号。我想知道它是否只需要一个字符串,或者是否有我遗漏的东西。

我的一些代码如下:

space_array = [split_space[0],split_space[1],split_space[3],new_date,split_space[5]]
master << space_array 
puts master

理想的输出是这样的:

Kournikova Anna F 6/3/1975 Red
Hingis Martina F 4/2/1979 Green
Seles Monica F 12/2/1973 Black

4 个答案:

答案 0 :(得分:13)

your_array.each do |person|
  puts person.join(" ")
end

答案 1 :(得分:11)

方法put会自动换新行。使用print代替打印文本,没有换行。

或者,如果需要,可以使用连接功能。

['a', 'b', 'c'].join(' ') 
=> 'a b c'

答案 2 :(得分:3)

您可以遍历外部数组并将内部数组join迭代为字符串。由于您没有提供准备复制和粘贴的示例数据,因此以下是我编写的一些示例代码:

outer_array.each { |inner| puts inner.join(' ') }

答案 3 :(得分:0)

更简单:

puts your_array.join(" ")