Как перебрать хеш - PullRequest
       1

Как перебрать хеш

0 голосов
/ 18 апреля 2019

Потратьте более 3 часов, чтобы выяснить, в чем проблема - я не могу перебрать этот хэш:

a = {"begin"=>:washington, "end"=>:briston, "min"=>6, "price"=>3}
{"begin"=>:briston, "end"=>:dallas, "min"=>4, "price"=>2}
{"begin"=>:dallas, "end"=>:tokyo, "min"=>3.5, "price"=>3}

Если я напишу этот код:

a.each do |xx|
  puts xx["begin"], xx["end"]
end

Iполучить

`in `[]': no implicit conversion of String into Integer (TypeError)`

В чем проблема?

1 Ответ

0 голосов
/ 18 апреля 2019

Создайте массив хэшей, как этот

a = [{"begin"=>:washington, "end"=>:briston, "min"=>6, "price"=>3},{"begin"=>:briston, "end"=>:dallas, "min"=>4, "price"=>2},{"begin"=>:dallas, "end"=>:tokyo, "min"=>3.5, "price"=>3}]  

и повторить его:

a.each { |xx| puts xx['begin'], xx['end'] }  

Если вы хотите перебрать один хеш, вы можете сделать так:

a.each { |k,v| puts k.to_s + '-' + v.to_s }  

, где k,v - это пары key,value хеша.

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