如何干'价值。存在? ? value == CONSTANT:self [:value] == CONSTANT'?

时间:2013-10-08 22:24:58

标签: ruby-on-rails ruby

如果可能,我想改进以下代码。也就是说,在下列情况下,有没有办法干掉(不要重复自己)CONSTANT代码?

def method(value = nil)
  value.present? ? value == CONSTANT : self[:value] == CONSTANT
end

如果是,我该如何删除“重复的”CONSTANT

1 个答案:

答案 0 :(得分:1)

(value.present? ? value : self[:value]) == CONSTANT

更好:

(value.presence || self[:value]) == CONSTANT

然后DRIE起来value。 : - )