Dans la documentation, il est dit:Hash.fetch (not_exist_key) soulève IndexError au lieu de KeyError
fetch (touche [, par défaut]) → obj; aller chercher (clé) {| clé | block} → obj
Renvoie une valeur du hachage pour la clé donnée. Si la clé ne peut pas être trouvée, il y a plusieurs options: Sans aucun autre argument, elle déclenchera une exception KeyError; si la valeur par défaut est donnée, alors cela sera retourné; Si le bloc de code optionnel est spécifié, alors celui-ci sera exécuté et son résultat retourné.
Dans mon terminal, dit irb:
irb(main):001:0> hash = { 1 => "No one", 2 => "gonna", 3 => "fetch me" }
=> {1=>"No one", 2=>"gonna", 3=>"fetch me"}
irb(main):002:0> hash.fetch(4)
IndexError: key not found
from (irb):2:in `fetch'
from (irb):2
from :0
Pouvez-vous me aider à expliquer cela?
quelle version de rubis que vous utilisez? pour moi c'est OK .. –
ruby 1.9.1 et irb 0.9.5. Oui je sais mais c'est juste un peu de curiosité. Les docs sont différents de la réalité. –