如果定义了Ruby中的快捷方式吗?(var)&& var == x?

时间:2013-08-02 15:11:51

标签: ruby

Ruby中是否有快捷方式:

if defined?(var) && var == x
  # do something
else
  # do something
end

喜欢defined_and_equal(var, x)

3 个答案:

答案 0 :(得分:5)

defined_and_equal(var, x)
defined?(var) && var == x
|    |    |    |    |    |

您的“快捷方式”具有相同的长度。所以我真的不明白为什么你会喜欢它。不,我不知道这种方法是否存在。

答案 1 :(得分:0)

如果x不是一个有价值的值,你可以这样做。

if (var ||= nil) == x
  # do something
else
  # do something
end

答案 2 :(得分:-1)

不,没有那条捷径。