जब मेरे पास निम्नलिखित हो:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
...
end
क्या उपयोग करने का कोई तरीका है Foo::CONSTANT_NAME
या क्या मुझे मूल्य तक पहुंचने के लिए एक वर्ग विधि बनाना है?
जब मेरे पास निम्नलिखित हो:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
...
end
क्या उपयोग करने का कोई तरीका है Foo::CONSTANT_NAME
या क्या मुझे मूल्य तक पहुंचने के लिए एक वर्ग विधि बनाना है?
जवाबों:
आपने जो पोस्ट किया है वह पूरी तरह से काम करना चाहिए:
class Foo
CONSTANT_NAME = ["a", "b", "c"]
end
Foo::CONSTANT_NAME
# => ["a", "b", "c"]
CONSTANT_NAME = ["a", "b", "c"].freeze
::
और .
;)
यदि आप अपनी कक्षा के भीतर अतिरिक्त कोड लिख रहे हैं जिसमें निरंतरता है, तो आप इसे एक वैश्विक की तरह मान सकते हैं।
class Foo
MY_CONSTANT = "hello"
def bar
MY_CONSTANT
end
end
Foo.new.bar #=> hello
यदि आप कक्षा के बाहर निरंतर पहुँच रहे हैं, तो इसे कक्षा नाम के साथ उपसर्ग करें, इसके बाद दो कॉलन
Foo::MY_CONSTANT #=> hello
क्या वहां पहुंचने का कोई रास्ता है
Foo::CONSTANT_NAME
?
हाँ वहाँ है:
Foo::CONSTANT_NAME