হেরেডোক কি?
একটি হেরেডোক হল একটি মাল্টিলাইন স্ট্রিংকে সংজ্ঞায়িত করার একটি উপায়, যখন মূল ইন্ডেন্টেশন এবং ফর্ম্যাটিং বজায় রাখা .
এটি এসকিউএল বা HTML এর মতো কোডের স্নিপেটগুলিকে এম্বেড করতে ব্যবহৃত হয়৷
৷এখানে একটি উদাহরণ আছে :
query = <<-SQL SELECT * FROM food WHERE healthy = true SQL
আপনি একটি heredoc সংজ্ঞায়িত করতে এই সিনট্যাক্স ব্যবহার করুন৷ রুবিতে।
আপনি <<-
চিহ্ন দিয়ে শুরু করুন , তারপর একটি শব্দ যা এই heredoc-এর নামের প্রতিনিধিত্ব করে, তারপর heredoc বিষয়বস্তু, তারপর আপনি heredoc বন্ধ করুন তার নিজস্ব লাইনে কিছু শব্দ দিয়ে।
এটি করার আরেকটি উপায় হল %Q ব্যবহার করা :
query = %Q( Article about heredocs )
আপনি এই স্ট্রিংয়ের শুরুতে এবং শেষে একটি অতিরিক্ত নতুন লাইন পাবেন। একটি হেরেডোক (বা strip
কল করা পদ্ধতি) সমাধান করে।
এখানে একটি নতুন লাইন ছাড়াই রুবি হেরেডোক :
query = <<-HTML.chomp Article about heredocs HTML
রুবি হেরেডোক ইন্টারপোলেশন
আপনি যদি ভাবছেন যে আপনি একটি heredoc...
এর সাথে স্ট্রিং ইন্টারপোলেশন ব্যবহার করতে পারেন কিনাউত্তর হল হ্যাঁ!
উদাহরণ :
type = "healthy" table = "food" query = <<-SQL SELECT * FROM #{table} WHERE #{type} = true SQL
আপনি একক উদ্ধৃতি সহ heredoc নামের চারপাশে ইন্টারপোলেশন নিষ্ক্রিয় করতে পারেন।
এরকম :
doc = <<-'TIME' Current time is #{Time.now} TIME
রুবি স্কুইগলি হেরেডোক
আপনি কিভাবে প্রতিটি লাইনের শুরুতে অতিরিক্ত ইন্ডেন্টেশন মুছে ফেলতে পারেন?
এটাই squiggly heredoc এর জন্য।
রুবি 2.3-এ প্রবর্তিত, squiggly heredoc আপনার জন্য অতিরিক্ত ইন্ডেন্টেশন সরিয়ে দেয়।
উদাহরণ :
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"
এখন আপনি পঠনযোগ্যতার জন্য অতিরিক্ত স্পেস রাখতে পারেন।
প্রকৃত স্ট্রিং এ তাদের ছেড়ে যাওয়ার সময়!
সারাংশ
আপনি আপনার কোডে মাল্টিলাইন স্ট্রিং এম্বেড করার জন্য রুবিতে হেরেডোকস ব্যবহার করতে শিখেছেন। এটি আপনার কোডের জন্য পরীক্ষা লেখার জন্য বা কোনও ফাইল না পড়েই উপলভ্য ডেটার ছোট বিট থাকার জন্য দরকারী হতে পারে৷
পড়ার জন্য ধন্যবাদ!