763 votes

Comment vérifier si une clé spécifique est présente ou non dans un hash ?

Je veux vérifier si la clé "user" est présente ou non dans le hash de la session. Comment puis-je le faire ?

Notez que je ne veux pas vérifier si la valeur de la clé est nulle ou non. Je veux simplement vérifier si l'utilisateur clé est présent.

5voto

Deepak Mahakale Points 13858

Vous pouvez toujours utiliser Hash#key? pour vérifier si la clé est présente dans un hash ou non.

Sinon, il vous renverra false

hash =  { one: 1, two:2 }

hash.key?(:one)
#=> true

hash.key?(:four)
#=> false

4voto

Ahmad MOUSSA Points 1453

Dans Rails 5, l'option has_key ? La méthode vérifie si la clé existe dans le hash. La syntaxe pour l'utiliser est la suivante :

YourHash.has_key? :yourkey

-4voto

updraft Points 1

Vous pouvez utiliser hash.keys.include ?(key)

irb(main):001:0> hash = {"pot" => 1, "tot" => 2, "not" => 3}
=> {"pot"=>1, "tot"=>2, "not"=>3}
irb(main):002:0> key = "not"
=> "not"
irb(main):003:0> hash.keys.include?(key)
=> true

0 votes

Hash.has_key ?(:key) sonne beaucoup mieux

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X