在Ruby中,封裝性可以通過使用模塊(module)和類(class)來實(shí)現(xiàn)。如果你想封裝類常量,可以使用module_eval
方法或者class_eval
方法來定義常量。這里有一個(gè)例子:
# 使用模塊封裝常量
module MyConstants
CONSTANT1 = "Hello"
CONSTANT2 = "World"
end
# 使用類封裝常量
class MyClass
CONSTANT1 = "Hello"
CONSTANT2 = "World"
end
# 訪問封裝的常量
puts MyConstants::CONSTANT1 # 輸出 "Hello"
puts MyClass::CONSTANT2 # 輸出 "World"
在這個(gè)例子中,我們使用了模塊MyConstants
和類MyClass
來封裝常量。要訪問這些常量,我們需要使用模塊或類的名稱作為前綴。
如果你想在類中封裝常量,可以使用class_eval
方法:
class MyClass
class_eval do
CONSTANT1 = "Hello"
CONSTANT2 = "World"
end
end
puts MyClass::CONSTANT1 # 輸出 "Hello"
puts MyClass::CONSTANT2 # 輸出 "World"
這里,我們使用class_eval
方法在MyClass
的上下文中定義常量。這樣,這些常量就只能在MyClass
中訪問,實(shí)現(xiàn)了封裝性。