首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当使用散列时,fetch与[]?

当使用散列时,fetch与[]?
EN

Stack Overflow用户
提问于 2013-05-15 23:39:18
回答 2查看 35.1K关注 0票数 84

来自Ruby Koans about_hashes.rb

在访问散列键时,为什么要使用#fetch而不是#[]

EN

回答 2

Stack Overflow用户

发布于 2013-05-16 00:12:56

使用[],散列的创建者控制当键不存在时发生的事情,而使用fetch则控制。

票数 30
EN

Stack Overflow用户

发布于 2013-05-15 23:42:28

默认情况下,如果找不到键,fetch会引发错误。您可以改为提供默认值。

h = {}

h.fetch(:foo) # no default value, raises error
# => # ~> -:3:in `fetch': key not found: :foo (KeyError)

h.fetch(:bar, 10) # default value, returns default value
# => 10
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16569409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档