
amt = self.alt_inv - (self.alt_tax ? self.alt_tax : 0) - (self.alt_freight ? self.alt_freight : 0) - (self.misc1_amt ? self.misc1_amt : 0) - (self.misc2_amt ? self.misc2_amt : 0)解决方法 在Ruby中,如果某些东西不是nil,它将在布尔表达式中返回true,并在计算中返回其值.
我不是很好解释,但你可以这样做:
amt = alt_inv - (alt_tax || 0) - (alt_freight || 0) - (misc1_amt || 0) - (misc2_amt || 0)
这是一种更简洁的方式来处理您最初使用的三元组.
编辑:
我实际上比Jed SchneIDer的答案更好.我不会在这里复制它,因为他的答案值得赞扬它的优雅.
总结以上是内存溢出为你收集整理的在Ruby中编写此计算的最佳方法?全部内容,希望文章能够帮你解决在Ruby中编写此计算的最佳方法?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)