কম্পিউটার

রুবিতে হেরেডোক কীভাবে ব্যবহার করবেন

হেরেডোক কি?

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

এটি এসকিউএল বা 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"

এখন আপনি পঠনযোগ্যতার জন্য অতিরিক্ত স্পেস রাখতে পারেন।

প্রকৃত স্ট্রিং এ তাদের ছেড়ে যাওয়ার সময়!

সারাংশ

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

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


  1. রুবিতে রেক কী এবং এটি কীভাবে ব্যবহার করবেন

  2. একটি ম্যাট্রিক্স কি এবং রুবিতে এটি কীভাবে ব্যবহার করবেন?

  3. রুবি আলিয়াস কীওয়ার্ড কীভাবে ব্যবহার করবেন

  4. রুবিতে স্ট্রাকট এবং ওপেনস্ট্রাক্ট কীভাবে ব্যবহার করবেন