如何检查变量是否在 Ruby 中定义?有isset可用的 -type 方法吗?
isset
使用defined?关键字(文档)。它将返回一个带有项目类型的字符串,或者nil如果它不存在。
defined?
nil
>> a = 1 => 1 >> defined? a => "local-variable" >> defined? b => nil >> defined? nil => "nil" >> defined? String => "constant" >> defined? 1 => "expression"
正如 skalee 评论的那样:“值得注意的是,设置为 nil 的变量已被初始化。”
>> n = nil >> defined? n => "local-variable"