任何人都可以告诉我一种 ruby 方法来检查散列中是否存在键,如果不存在则给它一个默认值。我假设有一个使用 unless 的衬垫来执行此操作,但我不确定要使用什么。
最佳答案
如果你已经有了哈希,你可以这样做:
h.fetch(key, "default value")
或者你利用一个不存在的 key 将返回 nil
的事实:
h[key] || "default value"
要创建具有默认值的散列,这完全取决于您想要做什么。
独立于 key ,不会被存储:
h = Hash.new("foo") h[1] #=> "foo" h #=> {}
依赖于 key 并将被存储:
h = Hash.new { |h, k| h[k] = k * k } h[2] #=> 4 h #=> {2=>4}
关于ruby - 如果键不存在创建默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9108619/