Печать массива массивов на одной строке в консоли (одна строка на объект главного массива) в Ruby - PullRequest
12 голосов
/ 15 марта 2012

У меня есть массив массивов, который в настоящее время печатает каждый объект в массиве в отдельной строке.Мастер массив содержит много разных людей внутри него.У каждого человека есть 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

Ответы [ 3 ]

13 голосов
/ 15 марта 2012
your_array.each do |person|
  puts person.join(" ")
end
11 голосов
/ 15 марта 2012

Метод put автоматически ставит новую строку.Вместо этого используйте print, чтобы напечатать текст без новой строки.

Или, если хотите, можете использовать функцию соединения.

3 голосов
/ 15 марта 2012

Вы можете просто перебрать внешний массив и join внутренние массивы в строку.Поскольку вы не предоставили примерных данных, готовых для копирования и вставки, вот пример кода, который я составил:

outer_array.each { |inner| puts inner.join(' ') }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...