这是我发现的最接近的,但它处理的是布尔值而不是数字: DRY up Ruby ternary
我试图避免 Ruby 中除以 0 的情况,同时保持代码更短且更易于阅读。
我想让以下代码更简洁:
number_to_percentage ((percent_complete.nan? ? 0 : (percent_complete * 100)), :precision => 0)
或者
number_to_percentage ((percent_complete.nan? ? 0 : percent_complete) * 100, :precision => 0)
现在看来真的很难读。涉及的链接更多,因此percent_complete
实际上要长一些。我也从一个方法返回这个值,所以它又变长了。
我想避免使用临时变量或缩短方法名称,因此希望了解另一种方法。
如果我可以避免必须输入两次“percent_complete”,那么这几乎可以解决它。