如何在 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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP