Methods (মেথড) রুবি প্রোগ্রামিং ভাষায় কোড পুনঃব্যবহারযোগ্য ব্লক হিসেবে ব্যবহৃত হয়। মেথডে arguments (আর্গুমেন্ট) পাস করা হলে, আপনি মেথডের মধ্যে প্রেরিত মানগুলির ভিত্তিতে কার্য সম্পাদন করতে পারেন। রুবিতে আর্গুমেন্ট পাস করা খুবই সহজ এবং বেশ নমনীয়, যা মেথডের মধ্যে ডেটা প্রবাহিত করতে সহায়তা করে।
১. Methods এ আর্গুমেন্ট পাস করা
রুবিতে একটি মেথড তৈরি করার সময় আপনি আর্গুমেন্ট পাস করতে পারেন। এগুলি মেথডে সেই ডেটার মান হিসেবে কাজ করবে যা আপনি মেথডের কল করার সময় প্রদান করবেন।
সাধারণ আর্গুমেন্ট পাস:
def greet(name)
puts "Hello, #{name}!"
end
greet("আজিজ") # আউটপুট: Hello, আজিজ!এখানে, "আজিজ" আর্গুমেন্ট হিসেবে greet মেথডে পাস করা হয়েছে এবং মেথডে এটি name নামক প্যারামিটার হিসেবে গ্রহণ করা হয়েছে।
২. Multiple Arguments (একাধিক আর্গুমেন্ট)
একাধিক আর্গুমেন্ট মেথডে পাস করা খুবই সহজ। আপনি একাধিক আর্গুমেন্ট দিয়ে মেথডকে কল করতে পারেন এবং সেই আর্গুমেন্টগুলিকে প্যারামিটার হিসেবে ব্যবহার করতে পারেন।
উদাহরণ: একাধিক আর্গুমেন্ট
def add(a, b)
return a + b
end
puts add(5, 3) # আউটপুট: 8এখানে, a এবং b দুটি আর্গুমেন্ট মেথডে পাস করা হয়েছে এবং তাদের যোগফল আউটপুট হিসেবে প্রদর্শিত হয়েছে।
৩. Default Arguments (ডিফল্ট আর্গুমেন্ট)
রুবিতে আপনি মেথডে ডিফল্ট আর্গুমেন্ট পাস করতে পারেন, অর্থাৎ যদি আর্গুমেন্ট পাস না করা হয়, তবে একটি পূর্বনির্ধারিত মান ব্যবহৃত হবে।
উদাহরণ: ডিফল্ট আর্গুমেন্ট
def greet(name = "Guest")
puts "Hello, #{name}!"
end
greet("আজিজ") # আউটপুট: Hello, আজিজ!
greet # আউটপুট: Hello, Guest!এখানে, name আর্গুমেন্টে ডিফল্ট মান "Guest" নির্ধারণ করা হয়েছে। যদি greet মেথডে আর্গুমেন্ট না দেওয়া হয়, তবে ডিফল্ট মান ব্যবহার করা হবে।
৪. Variable-Length Arguments (ভেরিয়েবল-লেংথ আর্গুমেন্ট)
রুবি ভেরিয়েবল-লেংথ আর্গুমেন্টের সুবিধা দেয়, যার মাধ্যমে আপনি একটি মেথডে যে কোনও সংখ্যক আর্গুমেন্ট পাস করতে পারেন। এটি * চিহ্ন ব্যবহার করে করা হয়।
উদাহরণ: ভেরিয়েবল-লেংথ আর্গুমেন্ট
def sum(*numbers)
total = 0
numbers.each { |num| total += num }
return total
end
puts sum(1, 2, 3) # আউটপুট: 6
puts sum(4, 5, 6, 7) # আউটপুট: 22এখানে, *numbers দ্বারা মেথডে যে কোন সংখ্যক আর্গুমেন্ট পাস করা যেতে পারে এবং সেগুলিকে একটি অ্যারে হিসেবে ব্যবহৃত করা হয়।
৫. Named Arguments (নামকরা আর্গুমেন্ট)
রুবি 2.0 এবং তার পরবর্তী সংস্করণে Named Arguments বা Keyword Arguments ব্যবহৃত হয়। এতে আপনি আর্গুমেন্টের নাম উল্লেখ করে পাস করতে পারেন, যা কোডকে আরও পরিষ্কার ও পঠনযোগ্য করে তোলে।
উদাহরণ: নামকরা আর্গুমেন্ট
def greet(name:, age:)
puts "Hello, #{name}! You are #{age} years old."
end
greet(name: "আজিজ", age: 25) # আউটপুট: Hello, আজিজ! You are 25 years old.এখানে, name এবং age আর্গুমেন্টের নাম উল্লেখ করে তাদের মান পাস করা হয়েছে।
৬. Combination of Positional and Keyword Arguments (পজিশনাল এবং কিওয়ার্ড আর্গুমেন্টের সংমিশ্রণ)
রুবি আপনাকে পজিশনাল আর্গুমেন্ট এবং কিওয়ার্ড আর্গুমেন্ট একসঙ্গে ব্যবহার করতে দেয়, তবে কিওয়ার্ড আর্গুমেন্ট সবসময় পজিশনাল আর্গুমেন্টের পরে থাকতে হবে।
উদাহরণ: পজিশনাল এবং কিওয়ার্ড আর্গুমেন্টের সংমিশ্রণ
def greet(name, age:, city:)
puts "Hello, #{name}! You are #{age} years old and live in #{city}."
end
greet("আজিজ", age: 25, city: "Dhaka") # আউটপুট: Hello, আজিজ! You are 25 years old and live in Dhaka.এখানে, name পজিশনাল আর্গুমেন্ট হিসেবে এবং age ও city কিওয়ার্ড আর্গুমেন্ট হিসেবে পাস করা হয়েছে।
সারসংক্ষেপ
- Methods এ আর্গুমেন্ট পাস করা রুবি প্রোগ্রামিং ভাষায় সহজ এবং নমনীয়, যা কোডের পুনঃব্যবহারযোগ্যতা বাড়ায়।
- Positional arguments সাধারণত মেথডের প্যারামিটার হিসেবে সরাসরি পাস করা হয়।
- Default arguments ব্যবহার করলে আপনি আর্গুমেন্ট না পাস করলেও একটি ডিফল্ট মান ব্যবহার করতে পারেন।
- Variable-length arguments মেথডে যে কোনও সংখ্যক আর্গুমেন্ট পাস করার সুযোগ দেয়।
- Named arguments বা Keyword arguments কোডের পঠনযোগ্যতা বাড়ায় এবং আর্গুমেন্টগুলির নাম উল্লেখ করে মান পাস করা যায়।
Read more