2017-10-21 38 views
0

J'ai donc un exemple ci-dessous: cléComment obtenir la clé à la place de la valeur de clé dans un hachage en utilisant Ruby et également omettre le « : »

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 :" 

Maintenant, ce que je reçois est le value du mais je suis cherche à obtenir le Key afin que puts produise seulement le key et non le value.

Je comprends que la solution produira probablement la clé en tant que :key et non key donc je voudrais également savoir comment retourner une clé sans le ":" à des fins d'affichage.

Note: J'ai fait une recherche approfondie en utilisant google et je n'ai pas trouvé de solution à ce problème.

Répondre

1

J'ai donc trouvé ma réponse dans une question qui demandait quelque chose de similaire. Pour trouver juste la clé que j'utilisé la méthode .keys[] mon code résultant était le suivant:

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 :" 

Ce code imprime les clés sans : et donc pour #{movies.keys[1]} il imprime pirates_of_the_carribean.

0

Vous pouvez utiliser la méthode keys dans movies hachage:

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:"