如何在 Ruby 中使用“defined?”关键字?
Ruby 提供了一个名为 **defined?** 的特殊关键字,用于确定 Ruby 中是否定义了特定对象或数据类型。
如果传递的表达式或参数已定义,**defined?** 关键字将返回一个字符串来描述其表达式或参数。如果 Ruby 中未定义表达式或参数,则返回 **nil**。
语法
下面给出 Ruby 中 **defined?** 关键字的语法
defined? variable_name
现在,让我们通过几个示例来演示如何在 Ruby 中使用 **defined?** 关键字。
示例 1
考虑以下代码。
# Declare the Variables programming = 2 ruby = programming * 2 # Checking if the variables are defined or not var1 = defined? programming var2 = defined? java var3 = defined? ruby var4 = defined? Math::PI # Displaying the results puts "Variable 1: #{var1}" puts "Variable 2: #{var2}" puts "Variable 3: #{var3}" puts "Variable 4: #{var4}"
输出
它将产生以下输出。
Variable 1: local-variable Variable 2: Variable 3: local-variable Variable 4: constant
在这段代码中,我们声明了两个局部变量,然后使用了 Math 模块中的一个常量,这就是为什么我们得到了它们各自的字符串输出。
对于“变量 2”,我们传递了一个根本没有声明的字符串名称,因此我们得到了 nil 作为输出。
示例 2
现在让我们探索一个更复杂的 Ruby 代码,其中包含一个模块和 **两个** 方法,其中一个方法在模块中 **定义**,另一个方法未定义。考虑以下代码。
# Ruby program to illustrate defined? keyword # First Method def first_method puts "Learn Ruby Programming" end module Module1 def second_method puts "Inside Coders" end end # Checking if the method is defined or not # Using defined? keyword method1 = defined? first_method method2 = defined? second_method module1 = defined? Module1 method3 = defined? hello method4 = defined? puts # Displaying results puts "Method 1: #{method1}" puts "Method 2: #{method2}" puts "Method 3: #{method3}" puts "Method 4: #{method4}" puts "Module 1: #{module1}"
输出
它将产生以下输出。
Method 1: method Method 2: Method 3: Method 4: method Module 1: constant
广告