gpt4 book ai didi

python - 简明的 Ruby 哈希等同于 Python dict.get()

转载 作者:太空狗 更新时间:2023-10-29 19:33:43 25 4
gpt4 key购买 nike

知道我可以像这样操作 Ruby 默认 Hash 值:

h={a:1, b:2, c:3}
h[:x] # => nil
h.default = 5
h[:x] # => 5
h.default = 8
h[:y] # => 8

但是当对具有不同默认值的多个值重复执行此操作时,这会变得非常乏味。

如果将散列传递给其他方法,这些方法需要为某些(可能丢失的)键设置自己的默认值,它也可能会变得危险。

在 Python 中,我曾经

d={'a':1, 'b':2, 'c':3}
d.get('x', 5) # => 5
d.get('y', 8) # => 8

没有任何副作用。 Ruby 中是否有与此 get 方法等效的方法?

最佳答案

是的,它叫做fetch ,它也可以占用一个 block :

h.fetch(:x, 5)
h.fetch(:x) {|missing_key| "Unfortunately #{missing_key} is not available"}

关于python - 简明的 Ruby 哈希等同于 Python dict.get(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20258632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com