Вам нужно разделить захваченную строку, используя gets
, с символом. Вы должны попросить об этом в своем сообщении, обычно это будет запятая, возможно, окруженная пробелами.
Я выделил проблему в упрощенном сценарии, чтобы вы могли протестировать ее отдельно, что всегда хорошо, когда решение проблемы.
Обратите внимание на использование регулярных выражений между разделителями //
, за которыми следует флаг i
, чтобы указать, что сравнение должно быть без учета регистра.
# what you would receive when you type this in the console following your message
# and captured by the gets, in this case brewerie 1 and 3
input = "1, 3"
#split by a comma preceded or followed or not by a space
breweries = input.split(/ *, */)
breweries.each do |brewerie|
if(brewerie.to_i > 0)
# @brewery = @objects[input.to_i - 1]
puts "displaying info about #{brewerie}"
elsif brewerie[/quit/i]
# quit
elsif brewerie[/menu/i]
# start
else
puts "Ooops, please try again to get more info:"
# display_info
end
end
Который возвращает:
displaying info about 1
displaying info about 3