मैं एक ट्यूटोरियल के माध्यम से अभी काम कर रहा हूँ, और मैं समझने के लिए क्यों निम्नलिखित होता है करना चाहते हैं:`<<` रूबी स्ट्रिंग में क्यों संलग्न होता है जबकि `+ =` नहीं होता है?
original_string = "Hello, "
hi = original_string
there = "World"
hi += there
assert_equal "Hello, ", original_string
original_string = "Hello, "
hi = original_string
there = "World"
hi << there
assert_equal "Hello, World", original_string
क्यों +=
original_string
पर कोई प्रभाव नहीं होता है, और <<
करता है? मैं बिल्कुल निश्चित था कि दूसरा मामला "Hello, "
के बराबर होगा, लेकिन ऐसा नहीं है।
पहले उदाहरण में hi = original string
hi
में original_string
के मान की प्रतिलिपि करने के लिए प्रकट होता है, लेकिन hi = original string
में दूसरा उदाहरण original string
रूप में एक ही स्ट्रिंग को इंगित करने के hi
स्थापित करने के लिए प्रकट होता है। मुझे लगता है कि दृश्यों की प्रतिलिपि बनाने या संदर्भ की प्रतिलिपि बनाने के लिए दृश्यों के पीछे कुछ प्रकार का निहित निर्णय है ... या कुछ।