Si la clé n'existe pas de créer de la valeur par défaut
Quelqu'un peut-il me montrer un rubis moyen de vérifier si une clé existe dans une table de hachage et si elle n'est pas alors de lui donner une valeur par défaut. Je suis en supposant qu'il existe une seule ligne à l'aide de moins que de faire cela, mais je ne suis pas sûr de ce qu'il faut utiliser.
Vous devez vous connecter pour publier un commentaire.
Si vous avez déjà une table de hachage, vous pouvez le faire:
Ou vous exploiter le fait qu'un non-existant clé sera de retour
nil
:Pour créer des hachages avec les valeurs par défaut dépend de ce que vous voulez faire exactement.
Indépendant de la clé et ne seront pas stockées:
Dépend de la clé et seront stockées:
Constructeur de la classe Hash accepter une valeur par défaut, de même, sera retournée si une clé correspondante n'est trouvée.
Si vous n'avez pas besoin de stocker cette valeur par défaut en hash, vous pouvez utiliser
Hash#fetch
méthode:Si vous devez, en plus de stocker votre valeur par défaut chaque fois que vous accédez inexistante clé et vous êtes l'un de l'initialisation de la table de hachage, vous pouvez le faire en utilisant
Hash#new
avec un bloc:Vous pouvez utiliser le
||=
opérateur:Si vous stockez une valeur par défaut qui peut être nul et vous avez besoin de la calculer à la durée de stockage: