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

রুবি আউটপুট বেসিকস: puts, print এবং p-এর মধ্যে নির্বাচন

রুবিতে কিছু প্রিন্ট করার অনেক উপায় আছে।

সর্বाधিক উপকারীগুলো হলো:

  • puts
  • print
  • p

কিন্তু এইগুলো কীভাবে আলাদা?

এবং কখন কোনটি ব্যবহার করবেন?

এই আর্টিকেলে আপনি সেটি শিখবেন!

নিউলাইন ছাড়া প্রিন্ট করা

যখন আপনি ইউজারের জন্য স্ক্রিনে কিছু প্রিন্ট করতে চান, সাধারণত puts ব্যবহার করেন।

এভাবেই:

 puts "Hello there!" 

Puts আপনার মেসেজের শেষে অটোমেটিক্যালি একটি নতুন লাইন যোগ করে প্রতিবার আপনি এটি ব্যবহার করলে।

আপনি যদি নতুন লাইন না চান তবে print ব্যবহার করুন।

উদাহরণ:

 print 123 

পরবর্তীবার আপনি যখন কিছু print করবেন সেটি আপনার শেষ মেসেজের সাথে একই লাইনে থাকবে।

উদাহরণ:

 print 123 print 456 print 789 123456789 

কিন্তু আপনি যদি puts ব্যবহার করেন:

 puts 123 puts 456 puts 789 123 456 789 

প্রতিটি মেসেজের আলাদা লাইন থাকে!

Puts অ্যারের সাথে ভিন্নভাবে ব্যবহার করে।

উদাহরণ:

 puts [1,2] 1 2 print [1,2] [1,2] 

এখানে আরেকটি পার্থক্য:

Puts সবকিছুকে স্ট্রিং-এ কনভার্ট করার চেষ্টা করে (to_s কল করে)।

এটি কেন গুরুত্বপূর্ণ?

কারণ আপনি যদি nil ভ্যালু সহ অ্যারে puts করতে চান…

তবে কিছু ব্ল্যাঙ্ক লাইন দেখাবে!

উদাহরণ:

 puts [1,nil,nil,2] 1 2 

সারসংক্ষেপে, puts এবং print:

  • সবকিছু স্ট্রিং-এ কনভার্ট করে, এটা যদি খালি স্ট্রিং মানে হয়

শুধু puts:

  • আপনার মেসেজের শেষে একটি নতুন লাইন যোগ করে
  • অ্যারে এলিমেন্টগুলো একটা করে লাইন বাই লাইন দেখায়

p দিয়ে ডিবাগ আউটপুট

puts বনাম p কী?

p একটি মেথড যা একটি অবজেক্টের আরও "র" ভার্সন দেখায়।

উদাহরণস্বরূপ:

 > puts "Ruby Is Cool" Ruby Is Cool > p "Ruby Is Cool" "Ruby Is Cool" 

p কিসের জন্য উপকারী?

ডিবাগিং।

যখন আপনি নরমালি অনদৃশ্য নিউলাইন ক্যারেক্টার বা কোনো মান সঠিক কিনা নিশ্চিত করতে চান, তখন আপনি p ব্যবহার করেন।

একটি অন্য পার্থক্য:

  • puts সবসময় nil রিটার্ন করে
  • p আপনাকে দেওয়া অবজেক্টটি রিটার্ন করে

এটি একটি টেকনিক্যাল পার্থক্য…

কিন্তু এটি দেখায় যদি আপনি একটি ভেরিয়েবল puts করেন একটি মেথডের শেষ লাইনে, এবং আপনি সেই মেথডের রিটার্ন ভ্যালু ব্যবহার করেন।

উদাহরণ:

 def numbers puts 123 end numbers # nil 

এই উদাহরণে, numbers মেথডটি স্ক্রিনে 123 দেখাবে, কিন্তু এর রিটার্ন ভ্যালু হবে nil।

আপনি যদি চেষ্টা করেন:

 result = numbers 

তবে result হবে nil, 123 নয়।

কিন্তু আপনি যদি p ব্যবহার করেন তবে এটি কাজ করবে।

প্রিটি প্রিন্টিং (Pretty Printing)

রুবিতে আরেকটি প্রিন্টিং মেথড আছে।

pp নামে।

এটি p-এর মতো, কিন্তু বড় হ্যাশ ও অ্যারে নাইসভাবে প্রিন্ট করে।

নোট করুন রুবির পুরনো ভার্সন (২.৪-এর আগে) require 'pp' করতে হয় এই মেথড পেতে।

ভিডিও টিউটোরিয়াল

সারসংক্ষেপ

আপনি রুবিতে puts, print এবং p-এর পার্থক্য শিখেছেন!

রুবি আউটপুট বেসিকস: puts, print এবং p-এর মধ্যে নির্বাচন

এখন প্র্যাকটিস টাইম।

আপনি নতুন কিছু শিখে তাত্ক্ষণিক প্র্যাকটিস করলে সেটি আপনার নলেজ বেসে ইন্টিগ্রেট হবে, না করলে আপনি ভুলে যাবেন এবং প্রগতি করবেন না।


  1. প্রক্সি এবং VPN-এর পার্থক্য বুঝুন

  2. রুবিতে Dup বনাম Clone: অবজেক্ট কপি করার কৌশলকে মাস্টার করুন

  3. ভার্চুয়াল রিয়েলিটি বনাম অগমেন্টেড রিয়েলিটি: পার্থক্য বোঝার স্পষ্ট গাইড

  4. উইন্ডোজ ১০ বনাম উইন্ডোজ ১১: মূল পার্থক্য ও আপনার জন্য কোনটি সঠিক