हेरेडोक क्या है?
हेरेडोक मल्टी-लाइन स्ट्रिंग को परिभाषित करने का एक तरीका है, जबकि मूल इंडेंटेशन और फॉर्मेटिंग को बनाए रखता है।
इसका उपयोग SQL या HTML जैसे कोड स्निपेट्स एम्बेड करने के लिए किया जाता है।
यहाँ एक उदाहरण है:
query = <<-SQL SELECT * FROM food WHERE healthy = true SQL
आप रूबी में हेरेडोक को परिभाषित करने के लिए इस सिंटैक्स का उपयोग करते हैं।
आप सिंबल <<- से शुरू करते हैं, फिर इस हेरेडोक का प्रतिनिधित्व करने वाला एक शब्द, फिर हेरेडोक सामग्री, फिर आप उसी शब्द को अपनी लाइन पर हेरेडोक को बंद करते हैं।
इसे करने का दूसरा तरीका %Q का उपयोग करना है:
query = %Q( Article about heredocs )
आपको इस स्ट्रिंग की शुरुआत और अंत में एक अतिरिक्त नई लाइन मिलेगी। एक हेरेडोक (या strip मेथड को कॉल करना) इसे हल करता है।
यहाँ एक ट्रेलिंग नई लाइन के बिना रूबी हेरेडोक है:
query = <<-HTML.chomp Article about heredocs HTML
रूबी हेरेडोक इंटरपोलेशन
यदि आप सोच रहे हैं कि क्या आप हेरेडोक के साथ स्ट्रिंग इंटरपोलेशन का उपयोग कर सकते हैं...
उत्तर हाँ है!
उदाहरण:
type = "healthy"
table = "food"
query = <<-SQL
SELECT * FROM #{table}
WHERE #{type} = true
SQL
आप हेरेडोक नाम को सिंगल कोट्स से घेरकर इंटरपोलेशन को अक्षम कर सकते हैं।
इस तरह:
doc = <<-'TIME'
Current time is #{Time.now}
TIME
रूबी स्क्विगली हेरेडोक
आप हर लाइन की शुरुआत में अतिरिक्त इंडेंटेशन कैसे हटा सकते हैं?
यही स्क्विगली हेरेडोक के लिए है।
रूबी 2.3 में पेश किया गया, स्क्विगली हेरेडोक आपके लिए अतिरिक्त इंडेंटेशन हटा देता है।
उदाहरण:
page = <<-HTML Heredocs are cool & useful HTML # " Heredocs are cool & useful\n" page = <<~HTML Heredocs are cool & useful HTML # "Heredocs are cool & useful\n" page = <<~HTML.strip Heredocs are cool & useful HTML # "Heredocs are cool & useful"
अब आप पठनीयता के लिए अतिरिक्त स्पेस रख सकते हैं।
जबकि उन्हें वास्तविक स्ट्रिंग में छोड़ देते हैं!
सारांश
आपने रूबी में हेरेडोक का उपयोग करना सीखा ताकि आप अपने कोड में मल्टी-लाइन स्ट्रिंग्स एम्बेड कर सकें। यह आपके कोड के लिए टेस्ट लिखने या फाइल पढ़े बिना डेटा के छोटे टुकड़े उपलब्ध रखने के लिए उपयोगी हो सकता है।
पढ़ने के लिए धन्यवाद!