Ruby哈希操作全解析
1. 创建带默认值的哈希
在Ruby中,普通哈希的默认值为 nil 。以下代码展示了这一点:
h = Hash.new
h[1] # => nil
h['do you have this string?'] # => nil
创建哈希默认值有两种方式:
- 方式一:传递相同对象作为默认值
如果你希望每个哈希键的默认值都是同一个对象,可以将该值传递给 Hash 构造函数。
h = Hash.new("nope")
h[1] # => "nope"
h['do you have this string?'] # => "nope"
- 方式二:传递代码块作为默认值
如果你希望缺失键的默认值依赖于键或哈希的当前状态,可以将一个代码块传递给哈希构造函数。每次请求缺失键时,都会调用该代码块。
h = Hash.new { |hash, key| (key.respond_to? :to_str) ? "nope" : nil }
h[1] # => nil
h['do you have this string'] # => "nope"
在实
超级会员免费看
订阅专栏 解锁全文
31

被折叠的 条评论
为什么被折叠?



