Ruby 用更干练的方式来写这句话?
我有以下资料:Ruby 用更干练的方式来写这句话?,ruby,Ruby,我有以下资料: unless parsed['PREDICATE'].nil? predicate = parsed['PREDICATE'] end 这里的逻辑很清楚。但在我写这篇文章时,我只是想知道是否有同样清晰但更干燥的东西?你可以把它写在一行: predicate = parsed['PREDICATE'] unless parsed['PREDICATE'].nil? 只有一个:如果/,则偏爱修饰符,除非在使用单行正文时使用 或者,假设您正在检查某个键是否存在,然后将该键
unless parsed['PREDICATE'].nil?
predicate = parsed['PREDICATE']
end
这里的逻辑很清楚。但在我写这篇文章时,我只是想知道是否有同样清晰但更干燥的东西?你可以把它写在一行:
predicate = parsed['PREDICATE'] unless parsed['PREDICATE'].nil?
只有一个:如果/,则偏爱修饰符,除非在使用单行正文时使用
或者,假设您正在检查某个键是否存在,然后将该键的值分配给var,那么您可能会考虑:
predicate = parsed['PREDICATE'] if parsed.has_key? 'PREDICATE'
如果它失败了,是predicate=nil?Arup,我错过了你答案的第二部分。我只想补充一条建议,在确定是否有钥匙时,最好使用has_key?
(又称key?
)而不是检查值是否为nil
。我的答案是唯一的死亡原因。我很好。我的理解正确吗?如果parsed
有一个键“predicate”
,即使该键的值是nil
,您想执行predicate=parsed['predicate']
?