2017-10-21 97 views
0

所以,我有如下的例子:如何獲得關鍵的,而不是在使用Ruby哈希鍵的值,也省略「:」

movies = { 
    dobby: "dobster is a lad", 
    pirates_of_the_carribean: "Its all about jack sparrow kicking ass!" 
    } 
puts "what do you want to know about?\n 
#{movies[:dobby]}. = 1\n 
or...\n 
#{movies[:pirates_of_the_carribean]}. = 2\n 
Pick a number :" 

現在我得到的是關鍵的value但我想要得到Key,以便puts只會輸出key而不是value

據我所知,該解決方案可能會輸出密鑰爲:key而不是key所以id還知道如何返回一個沒有「:」的密鑰用於顯示目的。

注意:我已經使用谷歌徹底搜索,並沒有找到這個問題的解決方案。

回答

1

所以我在一個問題中找到了我的答案,提出了類似的問題。找到剛纔的關鍵我用.keys[]方法我生成的代碼是這樣的:

movies = { 
    dobby: "dobster is a lad", 
    pirates_of_the_carribean: "Its all about jack sparrow kicking ass!" 
    } 
puts "what do you want to know about?\n 
#{movies.keys[0]}. = 1\n 
or...\n 
#{movies.keys[1]}. = 2\n 
Pick a number :" 

此代碼打印出來的鑰匙沒有:從而爲#{movies.keys[1]}它打印出pirates_of_the_carribean

0

可以在movies哈希使用keys方法:

movies = { 
    dobby: "dobster is a lad", 
    pirates_of_the_carribean: "Its all about jack sparrow kicking ass!" 
} 

puts "What do you want to know about?" 
counter=0 
movies.keys.each do |k| 
    counter += 1 
    puts "#{k}. = #{counter} " 
end 
puts "Pick a number:" 
相關問題