स्ट्रिंग में मानों को इंजेक्ट करने के लिए आप स्प्रिंटफ़-जैसे फ़ॉर्मेटिंग का उपयोग कर सकते हैं। इसके लिए स्ट्रिंग में प्लेसहोल्डर्स शामिल होने चाहिए। अपने तर्कों को एक सरणी में रखें और इन तरीकों पर उपयोग करें: (अधिक जानकारी के लिए कर्नेल :: स्प्रिंटफ के लिए दस्तावेज़ीकरण देखें )।
fmt = 'The %s %s the %s'
res = fmt % [animal, action, other_animal] # using %-operator
res = sprintf(fmt, animal, action, other_animal) # call Kernel.sprintf
तुम भी स्पष्ट रूप से तर्क संख्या निर्दिष्ट कर सकते हैं और उन्हें फेरबदल कर सकते हैं:
'The %3$s %2$s the %1$s' % ['cat', 'eats', 'mouse']
या हैश कीज़ का उपयोग करके तर्क निर्दिष्ट करें:
'The %{animal} %{action} the %{second_animal}' %
{ :animal => 'cat', :action=> 'eats', :second_animal => 'mouse'}
ध्यान दें कि आपको %ऑपरेटर को सभी तर्कों के लिए एक मूल्य प्रदान करना होगा । उदाहरण के लिए, आप परिभाषित करने से बच नहीं सकते animal।