मैं Ruby Koans tutorial series के माध्यम से जा रहा था, जब मैं about_hashes.rb
में इस पर आया था:शोवेल (<<) ऑपरेटर रूबी हैश में कैसे काम करता है?
def test_default_value_is_the_same_object
hash = Hash.new([])
hash[:one] << "uno"
hash[:two] << "dos"
assert_equal ["uno", "dos"], hash[:one]
assert_equal ["uno", "dos"], hash[:two]
assert_equal ["uno", "dos"], hash[:three]
assert_equal true, hash[:one].object_id == hash[:two].object_id
end
मूल्यों assert_equals
में, क्या ट्यूटोरियल की उम्मीद वास्तव में है। लेकिन मुझे समझ में नहीं आया कि <<
ऑपरेटर और =
ऑपरेटर का उपयोग करने के बीच क्या अंतर है?
मेरे उम्मीद थी कि:
hash[:one]
होगा["uno"]
hash[:two]
होगा["dos"]
hash[:three]
होगा[]
किसी कृपया समझा सकता है क्यों मेरे उम्मीद गलत था?
मजेदार, यह वही है जो मैंने अपेक्षित था। फिर, पहाड़ फिर से पहाड़ थे। –