Как сохранить несколько пользовательских ответов в Ruby для программы командировочных расходов - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь написать программу, которая спрашивает пользователя, сколько поездок он совершил, и запрашивает его несколько раз в зависимости от его ответа. После этого я хочу спросить пользователя о местах его поездки и сохранить их ответы. Как я могу сохранить несколько ответов для последующего использования в программе?

В конце концов я хочу иметь возможность спросить, сколько было потрачено на проживание, транзит и т. Д. c ... и сохранить эти ответы.

Это то, что у меня так далеко:

# asks the user how many trips they've taken and prompts them that number of times
puts "How many trips did you take?"
trip_count = gets.chomp.to_i

# prompts the user the trip locations and stores them in a hash
trip_count.times { |x| puts "Where did you go for trip ##{x+1}?" 
trip_location = gets.chomp.to_i

puts "How much did you spend on lodging?"
lodging_cost = gets.chomp.to_i}

1 Ответ

0 голосов
/ 30 марта 2020

Используемый здесь шаблон Ruby: map:

trips = trip_count.times.map do |i|
  puts "Where did you go for trip ##{x+1}?"

  trip_location = gets.chomp.to_i

  puts "How much did you spend on lodging?"
  lodging_cost = gets.chomp.to_i

  {
    location: trip_location,
    cost: lodging_cost
  }
end

Где это возвращает массив структур Ha sh с ключами, указывающими, какие значения какие.

ipСовет: используйте привычку do ... end вместо { ... } для многострочных блоков кода. Форма { ... } лучше всего подходит для коротких однострочных случаев.

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