«Показать информацию для каждого человека» - PullRequest
2 голосов
/ 21 мая 2019

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

my_group = ["person_1", "person_2", "person_3"]
person_1 = {name: "erik", gender: "male", age: 26}
person_2 = {name: "erika", gender: "female", age: 26}
person_3 = {name: "erka", gender: "alpha", age: 27}

my_group.each do |name|
  my_group.each do |age|
    puts "Hello, #{name} is about #{age} years old"
  end

  puts "Hello, #{name} is about #{age} years old"
end

Я не получаю код ошибки, но он не перечисляет возраст с именами.

1 Ответ

4 голосов
/ 21 мая 2019

На самом деле ваш my_group содержит только Strings.Если вы хотите включить переменную лиц , вы можете включить их как переменные (без ""):

person_1 = {name: "erik", gender: "male", age: 26}
person_2 = {name: "erika", gender: "female", age: 26}
person_3 = {name: "erka", gender: "alpha", age: 27}

my_group = [ person_1, person_2, person_3 ]

Тогда вы можете использовать Array#each метод для цикла каждого персонажа в этом массиве.

my_group.each do |person|
     puts "Hello, #{person[:name]} is about #{person[:age]} years old"
end

Также обратите внимание, что у каждого человека есть Hash.Например, если вы хотите получить доступ к возрастному свойству person_1, вам нужно сделать следующее:

puts person_1[:name]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...