如果params[:value]
为零,则必须有更好的方法分配默认值现在我要做的是:
if !params[:equity].nil?
equity = params[:equity]
else
equity = 0.00
end
难道没有办法做这样的事吗:
equity = params[:equity].nil? ? 0.00 : params[:equity]
我尝试过像
replace
、select
或merge
这样的散列方法,但它们并不能真正按照我的需要工作。 最佳答案
您可以使用短路或运算符,如下所示:
value = param || 0.00 # where param is something like params[key]
如果要忽略空值(如空字符串),可以添加presence方法,如下所示:
value = param.presence || 0.00
如果参数值可以是数字(float/integer)、nil或空字符串,则可以缩短命令,如下所示:
value = param.to_f # will return 0.0 when param is nil or empty string