Function Definition এবং Parameters

Functions in Elixir (ফাংশনস) - এলিক্সির (Elixir) - Computer Programming

397

Function Definition এবং Parameters in Elixir

Elixir একটি ফাংশনাল প্রোগ্রামিং ভাষা, এবং ফাংশনগুলি Elixir প্রোগ্রামে অন্যতম মৌলিক উপাদান। Elixir তে ফাংশন ডিফাইন (define) করার মাধ্যমে আমরা নির্দিষ্ট কিছু কাজ সম্পাদন করতে পারি, এবং ফাংশনের parameters এর মাধ্যমে ইনপুট হিসাবে ডেটা গ্রহণ করতে পারি।

এখানে function definition এবং parameters সম্পর্কে বিস্তারিত আলোচনা করা হল।


Function Definition in Elixir

Elixir এ ফাংশন ডিফাইন করতে def কিওয়ার্ড ব্যবহার করা হয়। ফাংশনটি একটি নির্দিষ্ট কাজ বা লজিক সম্পাদন করবে এবং আমরা ফাংশনটির নাম, আর্গুমেন্টস এবং কোড ব্লক নির্ধারণ করি।

বেসিক ফাংশন ডিফাইন:

defmodule MyModule do
  def greet do
    IO.puts("Hello, Elixir!")
  end
end

এখানে:

  • defmodule: একটি মডিউল ডিফাইন করছে, যেখানে ফাংশন ডিফাইন করা হবে।
  • def greet: এখানে greet হল ফাংশনের নাম এবং এই ফাংশনটি কোন প্যারামিটার ছাড়া ডিফাইন করা হয়েছে।
  • IO.puts("Hello, Elixir!"): ফাংশনটি কল হলে এটি কনসোলে "Hello, Elixir!" প্রিন্ট করবে।

ফাংশনটিকে রান করতে:

MyModule.greet()  # Output: Hello, Elixir!

Parameters in Elixir Functions

ফাংশনের সাথে parameters যোগ করলে আমরা সেই ফাংশনে আর্গুমেন্ট হিসেবে ডেটা পাঠাতে পারি। Elixir তে ফাংশনে প্যারামিটারগুলি প্রয়োজনীয় ইনপুট ডেটা হিসেবে ব্যবহৃত হয়।

ফাংশন প্যারামিটার সহ ডিফাইন:

defmodule MyModule do
  def greet(name) do
    IO.puts("Hello, #{name}!")
  end
end

এখানে:

  • name: এটি একটি প্যারামিটার, যা ফাংশনের ইনপুট হিসেবে ব্যবহৃত হবে।
  • ফাংশনটি কল করার সময়, আমরা একটি মান প্রদান করবো যা name প্যারামিটার হিসাবে ব্যবহৃত হবে।

ফাংশনটি কল করলে:

MyModule.greet("Alice")  # Output: Hello, Alice!

এখানে, "Alice" হল name প্যারামিটার এর মান। ফাংশনটি সেই মান ব্যবহার করে আউটপুট প্রদর্শন করে।


Multiple Parameters in Elixir

একই ফাংশনে একাধিক প্যারামিটারও ব্যবহার করা যেতে পারে। Elixir তে একাধিক প্যারামিটার ফাংশনের মধ্যে কমা দিয়ে পৃথক করা হয়।

একাধিক প্যারামিটার সহ ফাংশন:

defmodule MyModule do
  def add(a, b) do
    a + b
  end
end

এখানে:

  • a এবং b দুটি প্যারামিটার, যা ফাংশনটি গ্রহণ করবে।
  • ফাংশনটি দুটি সংখ্যা যোগ করে সেই মান রিটার্ন করবে।

ফাংশনটি কল করলে:

result = MyModule.add(5, 3)
IO.puts(result)  # Output: 8

এখানে, ফাংশন add দুটি আর্গুমেন্ট গ্রহণ করে, 5 এবং 3, এবং তাদের যোগফল হিসেবে 8 রিটার্ন করে।


Default Parameters in Elixir

Elixir তে একটি ফাংশনে প্যারামিটারগুলির জন্য ডিফল্ট মান (default value) নির্ধারণ করা যায়। যদি ফাংশন কল করার সময় প্যারামিটারটি প্রদান না করা হয়, তবে ডিফল্ট মান ব্যবহৃত হবে।

ডিফল্ট প্যারামিটার সহ ফাংশন:

defmodule MyModule do
  def greet(name \\ "Guest") do
    IO.puts("Hello, #{name}!")
  end
end

এখানে:

  • name \\ "Guest": এই প্যারামিটারটি "Guest" নামে ডিফল্ট মান পেয়েছে।
  • যদি ফাংশন কল করার সময় আর্গুমেন্ট না দেওয়া হয়, তবে "Guest" ডিফল্ট মান হিসেবে ব্যবহৃত হবে।

ফাংশনটি কল করলে:

MyModule.greet()  # Output: Hello, Guest!
MyModule.greet("Alice")  # Output: Hello, Alice!

এখানে, প্রথম কলের ক্ষেত্রে কোন আর্গুমেন্ট না দেয়ায় "Guest" ডিফল্ট মান ব্যবহৃত হয়েছে।


Named Parameters and Keyword Lists

Elixir তে keyword lists ব্যবহার করে আপনি প্যারামিটারগুলির জন্য নাম নির্ধারণ করতে পারেন, যা প্যারামিটারগুলির অর্ডার ছাড়া ফাংশনকে কল করার সুবিধা দেয়।

Named Parameters with Keyword Lists:

defmodule MyModule do
  def greet(name: name, age: age) do
    IO.puts("Hello, #{name}! You are #{age} years old.")
  end
end

এখানে, ফাংশনটি দুটি named parameter (name এবং age) গ্রহণ করবে।

ফাংশনটি কল করলে:

MyModule.greet(name: "Alice", age: 30)
# Output: Hello, Alice! You are 30 years old.

এখানে, আপনি keyword list ব্যবহার করে প্যারামিটারগুলির মান প্রদান করেছেন।


Anonymous Functions (Lambdas)

Elixir তে anonymous functions বা lambdas ব্যবহার করা হয় যেখানে ফাংশনকে কোন নাম ছাড়া নির্দিষ্ট একটি কাজ সম্পাদন করতে বলা হয়।

Anonymous Function Definition:

add = fn a, b -> a + b end
IO.puts(add.(2, 3))  # Output: 5

এখানে:

  • fn a, b -> a + b end একটি অ্যানোনিমাস ফাংশন যা দুটি প্যারামিটার গ্রহণ করে এবং তাদের যোগফল প্রদান করে।

সারসংক্ষেপ

ফিচারবর্ণনাউদাহরণ
Function Definitionফাংশন তৈরি করা, যেখানে কোডের একটি ব্লক একটি নির্দিষ্ট কাজ সম্পাদন করেdef greet do IO.puts("Hello") end
Parametersফাংশনে প্যারামিটার ব্যবহার করা, যাতে ইনপুট ডেটা গ্রহণ করা যায়def greet(name) do IO.puts(name) end
Multiple Parametersএকাধিক প্যারামিটার ব্যবহার করাdef add(a, b) do a + b end
Default Parametersডিফল্ট প্যারামিটার নির্ধারণ করাdef greet(name \\ "Guest") do IO.puts(name) end
Named Parametersপ্যারামিটার নাম সহ ফাংশন কল করাdef greet(name: name, age: age) do IO.puts(name) end
Anonymous Functions (Lambdas)নামহীন ফাংশন ব্যবহার করা, যা ফাংশন হিসেবে একটি পরিবর্তনশীল ভেরিয়েবলadd = fn a, b -> a + b end

এভাবে Elixir তে ফাংশন ডিফাইন এবং প্যারামিটার ব্যবহারের মাধ্যমে আপনি খুব সহজেই কোডের পুনঃব্যবহারযোগ্যতা এবং কার্যকারিতা বাড়াতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...