写这个ruby除非声明的更简洁和简洁的方法?

时间:2015-02-28 18:21:23

标签: ruby

我有以下内容:

unless parsed['PREDICATE'].nil?
    predicate = parsed['PREDICATE']
end

逻辑很清楚。但是当我写这篇文章的时候,只是想知道是否有同样清晰的东西,但更干的是什么?

1 个答案:

答案 0 :(得分:3)

您可以将其写在一行:

predicate = parsed['PREDICATE']  unless parsed['PREDICATE'].nil?
当您拥有单行正文时,

只需tip:偏好修饰符if / unless用法。

或者,猜测,如果您正在检查是否存在密钥,然后将密钥的值分配给var,那么您可能会考虑:

predicate = parsed['PREDICATE']  if parsed.has_key? 'PREDICATE'