about_symbols.rb रूबी कोआन (https://github.com/edgecase/ruby_koans) में हो जाते हैं, मैं निम्नलिखित कोड है:रूबी कोआन: स्थिरांक प्रतीकों
RubyConstant = "What is the sound of one hand clapping?"
def test_constants_become_symbols
all_symbols = Symbol.all_symbols
assert_equal true, all_symbols.include?(:"nonexistent")
assert_equal true, all_symbols.include?(:"What is the sound of one hand clapping?")
assert_equal true, all_symbols.include?("What is the sound of one hand clapping?".to_sym)
end
के रूप में है, परीक्षण गुजरता है।
तीन सवाल:
क्यों पहले ज़ोर से पारित करता है?
:"nonexistent"
को all_symbols में शामिल नहीं किया जाना चाहिए, लेकिन इसे शामिल किया गया है इसलिए मुझे कुछ गलत समझा जाना चाहिए।जब मैं दूसरे जोर से टिप्पणी करता हूं, तो परीक्षण विफल रहता है क्योंकि
"What is the sound of one hand clapping?".to_sym
all_symbols में शामिल नहीं है जबकि:"What is the sound of one hand clapping?"
शामिल है। चूंकि वे बराबर हैं, आखिरी जोर क्यों विफल रहता है? साथ ही, जब दूसरा दावा टिप्पणी नहीं की जाती है तो यह क्यों गुजरता है? (दूसरे जोर से तीसरे दावे पर कोई प्रभाव क्यों नहीं है?)मेरे ज्ञान के लिए, इस रूबी कोन का बिंदु यह दर्शाता था कि स्थिरांक प्रतीकों बन जाते हैं (कम से कम, मैं इस विधि से क्या कह रहा हूं नाम)। चूंकि RubyConstant मूल्य
"What is the sound of one hand clapping?"
के साथ स्थिर है, इसलिए"What is the sound of one hand clapping?".to_sym
क्यों प्रतीकों की सूची में शामिल नहीं है? एकमात्र स्पष्टीकरण जिसे मैं सोच सकता हूं वह है कि, विधि के नाम के विपरीत, स्थिरांक वास्तव में प्रतीक बनते नहीं हैं।
आपकी मदद के लिए धन्यवाद!
एक ही सवाल यहाँ से पूछा: http: //stackoverflow.com/questions/13295776/ruby-koans-75-test-constants-become-symbols-correct-answer एलक्यू = 1 – ZenBalance