用定义的缩短Ruby代码?

时间:2012-03-02 07:51:37

标签: ruby

在Ruby中编写下一代码是否有更短的方法:

if defined?($servlet_context) then true
else false
end

2 个答案:

答案 0 :(得分:8)

defined? operator evaluates to a string or nil

  

defined?运算符如果未定义其参数(可以是任意表达式),则返回nil,否则返回该参数的描述。

所以,如果你只想要一些真实的东西,那么defined?($servlet_context)就可以了。但是,如果你绝对必须有一个布尔值,那么你可以使用双重演员:

!!defined?($servlet_context)

答案 1 :(得分:0)

defined?($servlet_context)将产生完全相同的效果。

此外在ruby中不需要,因此缩短它的最简单方法是 - 删除'然后'。

相关问题