আসুন আপনি রুবিতে স্ট্রিংগুলি কীভাবে ফর্ম্যাট করতে পারেন সে সম্পর্কে কথা বলি।
কেন আপনি একটি স্ট্রিং বিন্যাস করতে চান? ঠিক আছে, আপনি এমন কিছু করতে চাইতে পারেন যেমন সংখ্যাটি 10-এর কম হলেও একটি অগ্রণী শূন্য (উদাহরণ:01, 02, 03…), অথবা কিছু কনসোল আউটপুট কলামে সুন্দরভাবে ফর্ম্যাট করা আছে।
অন্যান্য ভাষায় আপনি printf ব্যবহার করতে পারেন স্ট্রিং ফরম্যাট করার জন্য ফাংশন, এবং আপনি যদি কখনও সি ব্যবহার করে থাকেন তবে আপনি সম্ভবত এটির সাথে পরিচিত। printf ব্যবহার করতে আপনাকে ফর্ম্যাট স্পেসিফায়ারের একটি তালিকা এবং ভেরিয়েবল বা মানগুলির একটি তালিকা নির্ধারণ করতে হবে৷
রুবি স্ট্রিং ফরম্যাটিং দিয়ে শুরু করা
যখন sprintf রুবি-তেও পাওয়া যায়, এই পোস্টে আমরা আরও বাজে উপায় ব্যবহার করব (কোনও কারণে কমিউনিটি স্টাইল গাইড এতে একমত বলে মনে হয় না, তবে আমি মনে করি এটি ঠিক আছে)।
এখানে একটি উদাহরণ:
time = 5 message = "Processing of the data has finished in %d seconds" % [time] puts message
Output => "Processing of the data has finished in 5 seconds"
এই উদাহরণে, %d হল ফরম্যাট স্পেসিফায়ার (এখানে উপলব্ধ নির্দিষ্টকরণের একটি তালিকা রয়েছে) এবং সময় আমরা ফরম্যাট চাই পরিবর্তনশীল. একটি %d বিন্যাস আমাদের শুধুমাত্র পূর্ণ সংখ্যা দেবে৷
আমরা যদি ফ্লোটিং পয়েন্ট সংখ্যা প্রদর্শন করতে চাই তাহলে আমাদের %f ব্যবহার করতে হবে . আমরা এইভাবে চাই দশমিক স্থানের সংখ্যা নির্দিষ্ট করতে পারি:%0.2f .
2 এখানে নির্দেশ করে যে আমরা শুধুমাত্র দুই দশমিক স্থান রাখতে চাই।
এখানে একটি উদাহরণ:
score = 78.5431 puts "The average is %0.2f" % [score]
Output => The average is 78.54
মনে রাখবেন সংখ্যাটি রাউন্ড আপ করা হবে। উদাহরণস্বরূপ, যদি আমি 78.549
ব্যবহার করি শেষ উদাহরণে, এটি 78.55
মুদ্রিত হবে .
রূপান্তর এবং প্যাডিং
আপনি একটি দশমিক সংখ্যা রূপান্তর করতে পারেন এবং এটি হেক্সাডেসিমেল হিসাবে মুদ্রণ করতে পারেন। %x ব্যবহার করে বিন্যাস:
puts "122 in HEX is %x" % [122]রাখে
Output => 122 in HEX is 7a
একটি স্ট্রিং প্যাড করতে:
আপনি যতগুলি চান ততগুলি 0 সহ একটি সংখ্যা প্যাড করার জন্য এই বিন্যাসটি ব্যবহার করুন:%0<শূন্যের সংখ্যা>d
puts "The number is %04d" % [20]রাখে
Output => The number is 0020
আপনি এই রুবি স্ট্রিং বিন্যাসটিও ব্যবহার করতে পারেন৷ পাঠ্যের সারিবদ্ধ কলাম তৈরি করার কৌশল। এই প্রভাব পেতে ড্যাশ দিয়ে 0 প্রতিস্থাপন করুন:
বিকল্পভাবে, আপনি .ljust এবং .rjust
ব্যবহার করতে পারেন একই কাজ করার জন্য স্ট্রিং ক্লাস থেকে পদ্ধতি।
উদাহরণ :
names_with_ages = [["john", 20], ["peter", 30], ["david", 40], ["angel", 24]] names_with_ages.each { |name, age| puts name.ljust(10) + age.to_s } # Prints the following table john 20 david 30 peter 40 angel 24
উপসংহার
আপনি যেমন দেখেছেন রুবি এবং রেল স্ট্রিং ফর্ম্যাটিং৷ সত্যিই সহজ, এটি সব আপনার জন্য উপলব্ধ বিভিন্ন বিন্যাস নির্দিষ্টকরণ বোঝার জন্য নিচে আসে৷
৷আমি আশা করি আপনি আউটপুট ফর্ম্যাটিং জগতে এই দ্রুত ট্রিপ উপভোগ করেছেন! আমার নিউজলেটার সাবস্ক্রাইব করতে ভুলবেন না যাতে আমি আপনাকে আরও দুর্দান্ত সামগ্রী পাঠাতে পারি 🙂