কম্পিউটার টিউটোরিয়াল

রুবি হেরেডক মাস্টার করুন: মাল্টিলাইন স্ট্রিং-এর জন্য একটি প্র্যাক্টিক্যাল গাইড

হেরেডক কী?

একটি হেরেডক হলো একটি মাল্টিলাইন স্ট্রিং ডিফাইন করার পদ্ধতি, মূল ইন্ডেন্টেশন এবং ফরম্যাটিং বজায় রেখে।

এটি কোড স্নিপেট এম্বেড করার জন্য ব্যবহৃত হয়, যেমন 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

রুবি স্কুইগলি হেরেডক

প্রতিটি লাইনের শুরুতে থাকা এক্সট্রা ইন্ডেন্টেশন কীভাবে রিমুভ করবেন? সেটাই স্কুইগলি হেরেডক-এর কাজ।

রুবি ২.৩-এ ইন্ট্রোডিউস করা স্কুইগলি হেরেডক আপনার জন্য এক্সট্রা ইন্ডেন্টেশন রিমুভ করে দেয়।

উদাহরণ:

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"

এখন আপনি রিডেবিলিটির জন্য এক্সট্রা স্পেসগুলো রেখে দিতে পারেন। কিন্তু আকচুয়াল স্ট্রিং-এ সেগুলো বাদ থাকবে!

সারসংক্ষেপ

আপনি রুবিতে হেরেডক ব্যবহার শিখলেন আপনার কোডে মাল্টিলাইন স্ট্রিং এম্বেড করার জন্য। এটি আপনার কোডের জন্য টেস্ট লিখতে বা ছোট ডেটা বিটস উপলব্ধ রাখতে ফাইল পড়া ছাড়া উপকারী হতে পারে।

পড়ার জন্য ধন্যবাদ!

  1. রুবিতে Rake মাস্টার করুন: টাস্ক অটোমেশন-এর সম্পূর্ণ গাইড

  2. রুবি ম্যাট্রিক্স বুঝতে: ডেফিনিশন, অ্যাপ্লিকেশন এবং কীভাবে তৈরি করবেন

  3. রুবি মাস্টারিং: মেথড এলিয়াস তৈরি করার জন্য Alias কিওয়ার্ড ব্যবহার

  4. রুবি Struct ও OpenStruct: দক্ষ ভ্যালু অবজেক্টস