उपयोग के मामले वास्तव में सिर्फ अगर आप बहुत कुछ हासिल करना चाहते हैं पास-संदर्भ द्वारा अन्य भाषाओं में है, जहां एक वेरिएबल का मान सीधे बदला जा सकता है। तो आप एक स्ट्रिंग को एक विधि में पास कर सकते हैं और वह विधि पूरी तरह से स्ट्रिंग को किसी अन्य चीज़ में बदल सकती है।
स्ट्रिंग को खाली करके और खाली स्ट्रिंग में कुछ नई स्ट्रिंग जोड़कर, आप एक ही चीज को एक और गोल-ए-बाउट तरीके से प्राप्त कर सकते हैं। अन्य वर्गों में समान तरीके हैं (ऐरे और हैश देखें)।
यदि आप स्वयं को इन तरीकों का उपयोग करने की आवश्यकता महसूस करते हैं, तो संभावना है कि आपने स्वयं को कोने में बैक किया है और एक से अधिक तरीके से खोजना चाहिए जिसके लिए एक संपूर्ण स्ट्रिंग को म्यूट करना आवश्यक है (उदाहरण के लिए डेटा संरचना पास करें एक स्ट्रिंग के बजाय, एक विधि में)।
यह लिंक समझने में उपयोगी है कि ऐसी विधि उपयोगी क्यों है: http://stackoverflow.com/questions/1872110/is-ruby-pass-by-reference-or-by-value – Scharron