用定义的缩短Ruby代码?

Lie*_*oen 1 ruby

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

if defined?($servlet_context) then true
else false
end
Run Code Online (Sandbox Code Playgroud)

mu *_*ort 8

defined?运算符计算为一个字符串或nil:

defined?运算符返回nil如果它的参数(其可以是任意的表达)没有限定,否则返回该参数的描述.

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

!!defined?($servlet_context)
Run Code Online (Sandbox Code Playgroud)