Я пытаюсь получить первый ключ и ключ значения из хеш-таблицы в ruby. Я не знаю ключевых значений хэша, потому что он передается методу. Я не могу найти где-нибудь в Интернете, как найти первый ключ/значение как отдельную хеш-таблицу.
Я думаю, что hash[0]
просто попытается найти элемент с именем 0, он просто возвращает nil
при запуске кода.
Я знаю, что могу найти ключевое имя и значение, а затем создать новый хэш из них, но мне интересно, есть ли более простой способ сделать это, чтобы сразу получить хеш.
вот мой код:
def rps_game_winner(game)
rock_in_hash = game.invert['R']
paper_in_hash = game.invert['P']
scissors_in_hash = game.invert['S']
if(rock_in_hash)
if(paper_in_hash)
return paper_in_hash;
elsif(scissors_in_hash)
return rock_in_hash
end
elsif(paper_in_hash)
if(rock_in_hash)
return paper_in_hash
elsif(scissors_in_hash)
return scissors_in_hash
end
end
key = game.keys[-1]
value = game.values[-1]
winner = {key => value}
return winner
end
game_one = { "Bob" => 'P', "Jim" => 'P' }
puts rps_game_winner(game_one)
Это дает мне правильный результат, проблема в том, что я не понимаю, почему это -1 вместо нуля... И я надеялся, что лучший способ получить первую пару ключей/значений хеш-таблицы вместо создания новой хеш-таблицы с ключом и значением, полученным из предыдущей таблицы.