রুবি একটি অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং ভাষা, এবং এতে মেথড (methods) ব্যবহার করে কোডের পুনঃব্যবহারযোগ্য অংশ তৈরি করা হয়। রুবিতে মেথড ডিক্লেয়ার এবং কল করা অত্যন্ত সহজ। মেথড সাধারণত কিছু ইনপুট গ্রহণ করে এবং আউটপুট প্রদান করে। রুবির মেথড ডিক্লারেশন এবং কল করার জন্য কিছু নিয়ম এবং কনভেনশন রয়েছে।
১. Method ডিক্লারেশন (Method Declaration)
রুবিতে মেথড ডিক্লেয়ার করতে def কিওয়ার্ড ব্যবহার করা হয় এবং মেথডটি end দিয়ে শেষ হয়।
সিনট্যাক্স:
def method_name
# code to be executed
endযেখানে:
method_nameহল মেথডের নাম।# code to be executedহল মেথডের মধ্যে যেসব কার্যক্রম চলবে।
উদাহরণ:
def greet
puts "Hello, World!"
endএখানে greet একটি মেথড যা যখন কল করা হবে, তখন এটি "Hello, World!" আউটপুট করবে।
২. Method Parameters (প্যারামিটার)
রুবি মেথডে প্যারামিটার গ্রহণ করতে পারে। প্যারামিটার হল সেই ইনপুট যা মেথড কল করার সময় প্রদান করা হয়।
সিনট্যাক্স:
def method_name(parameter1, parameter2)
# code that uses parameter1 and parameter2
endউদাহরণ:
def greet(name)
puts "Hello, #{name}!"
endএখানে, greet মেথডটি একটি প্যারামিটার name নেয় এবং সেই নামটি আউটপুটে ব্যবহার করে।
৩. Method Call (মেথড কল করা)
রুবি মেথড কল করতে মেথডের নাম এবং প্রয়োজনীয় প্যারামিটার (যদি থাকে) প্রদান করতে হয়।
সিনট্যাক্স:
method_name(arguments)উদাহরণ:
greet("আজিজ") # আউটপুট হবে: "Hello, আজিজ!"এখানে greet("আজিজ") কল করার মাধ্যমে "Hello, আজিজ!" আউটপুট হবে কারণ আমরা name প্যারামিটার হিসাবে "আজিজ" প্রদান করেছি।
৪. Return Statement (রিটার্ন স্টেটমেন্ট)
মেথডে একটি return স্টেটমেন্ট ব্যবহার করা হয় যাতে মেথডের আউটপুট বা ফলাফল রিটার্ন করা যায়। যদি return ব্যবহার না করা হয়, তবে মেথডের শেষ এক্সপ্রেশনটি স্বয়ংক্রিয়ভাবে রিটার্ন হয়ে যায়।
সিনট্যাক্স:
def method_name
return value
endউদাহরণ:
def add(a, b)
return a + b
end
result = add(5, 3)
puts result # আউটপুট হবে: 8এখানে, add মেথড দুটি প্যারামিটার নিয়ে তাদের যোগফল রিটার্ন করছে, এবং আমরা সেই রিটার্ন ভ্যালু result ভেরিয়েবলে সংরক্ষণ করেছি।
৫. Default Parameters (ডিফল্ট প্যারামিটার)
রুবি মেথডে প্যারামিটারগুলির জন্য ডিফল্ট মান নির্ধারণ করা যায়। যদি মেথড কল করার সময় সেই প্যারামিটার প্রদান না করা হয়, তাহলে ডিফল্ট মান ব্যবহার করা হয়।
সিনট্যাক্স:
def method_name(parameter1 = default_value)
# code that uses parameter1
endউদাহরণ:
def greet(name = "Guest")
puts "Hello, #{name}!"
end
greet("আজিজ") # আউটপুট হবে: "Hello, আজিজ!"
greet # আউটপুট হবে: "Hello, Guest!"এখানে, greet মেথডে name প্যারামিটারের জন্য "Guest" একটি ডিফল্ট মান দেওয়া হয়েছে, যদি প্যারামিটার প্রদান না করা হয়।
৬. Method with Multiple Parameters (একাধিক প্যারামিটার)
রুবি মেথডে একাধিক প্যারামিটার ব্যবহার করা যেতে পারে, এবং তারা একসাথে একাধিক ইনপুট গ্রহণ করতে পারে।
সিনট্যাক্স:
def method_name(parameter1, parameter2)
# code that uses parameter1 and parameter2
endউদাহরণ:
def add(a, b)
a + b
end
result = add(5, 7)
puts result # আউটপুট হবে: 12এখানে, add মেথড দুটি প্যারামিটার a এবং b গ্রহণ করে এবং তাদের যোগফল রিটার্ন করে।
সারসংক্ষেপ
- Method Declaration: রুবিতে মেথড ডিক্লেয়ার করতে
defএবংendব্যবহার হয়। - Parameters: মেথডে প্যারামিটার ব্যবহার করে ইনপুট গ্রহণ করা হয়।
- Method Call: মেথড কল করতে মেথডের নাম এবং প্যারামিটার (যদি থাকে) দেয়া হয়।
- Return Statement:
returnস্টেটমেন্ট ব্যবহার করে মেথডের আউটপুট রিটার্ন করা হয়। - Default Parameters: মেথডে প্যারামিটারের জন্য ডিফল্ট মান নির্ধারণ করা যেতে পারে।
রুবিতে মেথডের সাহায্যে কোডকে মডুলার এবং পুনঃব্যবহারযোগ্য করে তোলা সম্ভব।