如何在 Ruby 中使用“defined?”关键字?


Ruby 提供了一个名为 **defined?** 的特殊关键字,用于确定 Ruby 中是否定义了特定对象或数据类型。

如果传递的表达式或参数已定义,**defined?** 关键字将返回一个字符串来描述其表达式或参数。如果 Ruby 中未定义表达式或参数,则返回 **nil**。

语法

下面给出 Ruby 中 **defined?** 关键字的语法

defined? variable_name

现在,让我们通过几个示例来演示如何在 Ruby 中使用 **defined?** 关键字。

示例 1

考虑以下代码。

Open Compiler
# 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}"

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输出

它将产生以下输出。

Variable 1: local-variable
Variable 2:
Variable 3: local-variable
Variable 4: constant

在这段代码中,我们声明了两个局部变量,然后使用了 Math 模块中的一个常量,这就是为什么我们得到了它们各自的字符串输出。

对于“变量 2”,我们传递了一个根本没有声明的字符串名称,因此我们得到了 nil 作为输出。

示例 2

现在让我们探索一个更复杂的 Ruby 代码,其中包含一个模块和 **两个** 方法,其中一个方法在模块中 **定义**,另一个方法未定义。考虑以下代码。

Open Compiler
# 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

更新于:2022年4月12日

浏览量:556

启动您的职业生涯

通过完成课程获得认证

开始学习
广告