gpt4 book ai didi

ruby - 添加数字时如何将 nil 值视为零?

转载 作者:数据小太阳 更新时间:2023-10-29 08:15:42 26 4
gpt4 key购买 nike

我有一个看起来像这样的方法:

def calculate_the_thing(hsh)
hsh[:x] + hsh[:y] + hsh[:z]
end

需要这样的东西:

{:x => 5, :y => nil, :z => 2, :a => 5}

我想修补一些类,以便当 + 方法获得 nil 值时,它将其视为零。似乎有道理。我该怎么做?

最佳答案

正如@jforberg 指出的那样,您可以只使用 #to_i 方法,该方法将为 nil 返回 0。

def calculate_the_thing(hsh)
hsh[:x].to_i + hsh[:y].to_i + hsh[:z].to_i
end

或者,您也可以使用自动默认值定义散列...

hsh = Hash.new{0}

但是,如果您有一个方法将 nil 显式设置为将覆盖默认值的哈希值。

关于ruby - 添加数字时如何将 nil 值视为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35243349/

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