Ruby में कुछ प्रिंट करने के कई तरीके हैं।
यहां सबसे उपयोगी हैं:
- puts
- p
लेकिन ये कैसे अलग हैं?
और आपको कब किसका उपयोग करना चाहिए?
यही आप इस लेख में सीखने जा रहे हैं!
नई लाइन के बिना कैसे प्रिंट करें
जब आप उपयोगकर्ता को देखने के लिए स्क्रीन पर कुछ प्रिंट करना चाहते हैं, तो आप आमतौर पर puts का उपयोग करते हैं।
इस तरह:
puts "Hello there!"
Puts हर बार जब आप इसका उपयोग करते हैं तो आपके संदेश के अंत में स्वचालित रूप से एक नई लाइन जोड़ देता है।
यदि आप नई लाइन नहीं चाहते हैं, तो print का उपयोग करें।
उदाहरण:
print 123
अगली बार जब आप print करेंगे तो यह आपके पिछले संदेश के समान लाइन पर होगा।
उदाहरण:
print 123 print 456 print 789 123456789
लेकिन यदि आप puts का उपयोग करते हैं:
puts 123 puts 456 puts 789 123 456 789
हर संदेश की अपनी लाइन होती है!
Puts सरणियों को भी अलग तरीके से व्यवहार करता है।
उदाहरण:
puts [1,2] 1 2 print [1,2] [1,2]
यहां एक और अंतर है:
Puts सब कुछ को स्ट्रिंग में बदलने का प्रयास करता है (to_s को कॉल करके)।
यह महत्वपूर्ण क्यों है?
क्योंकि यदि आप nil मानों वाली सरणी को puts करने की कोशिश कर रहे हैं...
यह कुछ खाली लाइनें दिखाएगा!
उदाहरण:
puts [1,nil,nil,2] 1 2
सारांश में, puts और print:
- चीजों को स्ट्रिंग्स में बदलते हैं, भले ही इसका मतलब खाली स्ट्रिंग हो
केवल puts:
- आपके संदेशों के अंत में एक नई लाइन जोड़ता है
- सरणी तत्वों को एक-प्रति-लाइन प्रदर्शित करता है
P के साथ डीबग आउटपुट
puts बनाम p के बारे में क्या?
p एक मेथड है जो ऑब्जेक्ट का अधिक "कच्चा" संस्करण दिखाता है।
उदाहरण के लिए:
> puts "Ruby Is Cool" Ruby Is Cool > p "Ruby Is Cool" "Ruby Is Cool"
p किसके लिए उपयोगी है?
डीबगिंग।
जब आप (सामान्य रूप से अदृश्य) नई लाइन वर्णों जैसी चीजों की तलाश कर रहे हों, या आप सुनिश्चित करना चाहते हों कि कोई मान सही है, तो आप p का उपयोग करते हैं।
एक और अंतर:
- puts हमेशा nil लौटाता है
- p आपको पास किए गए ऑब्जेक्ट को लौटाता है
यह एक अधिक तकनीकी अंतर है...
लेकिन यह सामने आ सकता है यदि आप किसी वेरिएबल को मेथड की अंतिम लाइन के रूप में puts करने का प्रयास करते हैं, और आप उस मेथड के रिटर्न मान का उपयोग कर रहे हैं।
उदाहरण:
def numbers puts 123 end numbers # nil
इस उदाहरण में, numbers मेथड स्क्रीन पर 123 प्रदर्शित करेगा, लेकिन इसका रिटर्न मान nil होगा।
यदि आप कोशिश करते हैं:
result = numbers
तो result 123 के बजाय nil होगा।
लेकिन यदि आप p का उपयोग करते हैं तो यह काम करेगा।
प्रीटी प्रिंटिंग
Ruby में एक और प्रिंटिंग मेथड है।
इसे pp कहा जाता है।
यह p की तरह है, लेकिन यह बड़े हैशेज और सरणियों को एक अच्छे तरीके से प्रिंट करता है।
ध्यान दें कि Ruby के पुराने संस्करण (2.4 से पहले) को इस मेथड तक पहुंच प्राप्त करने के लिए require 'pp' करना पड़ता है।
वीडियो ट्यूटोरियल
सारांश
आपने Ruby में puts, print और p के बीच अंतर के बारे में सीखा!

अब यह अभ्यास का समय है।
यदि आप किसी नई चीज के साथ तुरंत अभ्यास करते हैं तो आप इस जानकारी को अपने ज्ञान आधार में एकीकृत कर लेंगे, यदि आप अभ्यास नहीं करते हैं तो आप भूल जाएंगे और प्रगति नहीं करेंगे।