Computer Programming Lambdas এর Syntax এবং উদাহরণ গাইড ও নোট

307

Lambdas হল রুবিতে একটি বিশেষ ধরনের Proc যা ফাংশনাল প্রোগ্রামিংয়ের ধারণা অনুসরণ করে। একটি lambda হল একটি anonymous function (নামবিহীন ফাংশন), যা একটি পরিবর্তনশীল সংখ্যা বা আর্গুমেন্ট গ্রহণ করতে পারে এবং একটি Proc অবজেক্ট হিসেবে কাজ করে।

১. Lambda Syntax

রুবিতে lambda তৈরি করার জন্য দুটি প্রধান উপায় রয়েছে:

  1. lambda মেথড ব্যবহার করে
  2. -> (stabby lambda) ব্যবহার করে

Syntax ১: lambda মেথড ব্যবহার করে

my_lambda = lambda { |arg1, arg2| 
  # function body
  puts "Argument 1: #{arg1}, Argument 2: #{arg2}"
}

Syntax ২: -> (stabby lambda) ব্যবহার করে

my_lambda = -> (arg1, arg2) { 
  # function body
  puts "Argument 1: #{arg1}, Argument 2: #{arg2}"
}

২. Lambda Function উদাহরণ

এখন, আমরা কিছু উদাহরণ দেখি, যেখানে ল্যাম্বডা ব্যবহৃত হচ্ছে।

উদাহরণ ১: একটি সাধারণ Lambda

# Lambda creation
my_lambda = lambda { |x| puts "The value of x is #{x}" }

# Calling the lambda
my_lambda.call(10)  # Output: The value of x is 10

এখানে, একটি lambda তৈরি করা হয়েছে যা একটি আর্গুমেন্ট x গ্রহণ করে এবং সেটির মান আউটপুট করে। পরে call মেথডের মাধ্যমে ল্যাম্বডাটি কল করা হয়েছে।

উদাহরণ ২: Multiple Arguments সহ Lambda

# Lambda with multiple arguments
my_lambda = lambda { |x, y| puts "Sum of x and y is #{x + y}" }

# Calling the lambda
my_lambda.call(5, 3)  # Output: Sum of x and y is 8

এখানে, ল্যাম্বডাটি দুটি আর্গুমেন্ট (x এবং y) গ্রহণ করছে এবং তাদের যোগফল আউটপুট করছে।

উদাহরণ ৩: Return Behavior in Lambda vs Proc

একটি গুরুত্বপূর্ণ পার্থক্য হলো lambda এবং proc এর return আচরণ। Lambda-তে return শুধুমাত্র ল্যাম্বডার ভিতর থেকে বের হয়ে যায়, কিন্তু Proc-এ return মেথডটি পুরো মেথড বা ব্লক থেকে বেরিয়ে আসে।

def test_lambda
  my_lambda = lambda { return "Returned from lambda" }
  puts my_lambda.call
  puts "After lambda"
end

test_lambda

আউটপুট:

Returned from lambda
After lambda

এখানে, return শুধুমাত্র ল্যাম্বডার ভিতরেই কাজ করছে এবং পুরো মেথডে চলে যাচ্ছে না। puts এর মাধ্যমে পরবর্তী লাইনের কোডও কার্যকর হতে পারে।

উদাহরণ ৪: lambda এবং proc এর পার্থক্য

def test_proc
  my_proc = Proc.new { return "Returned from proc" }
  puts my_proc.call
  puts "After proc"
end

test_proc

আউটপুট:

Returned from proc

এখানে, Proc এর return মেথডটি পুরো test_proc মেথড থেকে বের হয়ে গেছে এবং পরবর্তী কোড কার্যকর হয়নি।

৩. Lambda vs Proc

বৈশিষ্ট্যLambdaProc
Return behaviorreturn শুধু ল্যাম্বডার মধ্যে কাজ করেreturn পুরো মেথড বা ব্লক থেকে বেরিয়ে যায়
Argument checkingল্যাম্বা আর্গুমেন্টের সংখ্যা চেক করেপ্রোক আর্গুমেন্টের সংখ্যা চেক করে না

সারসংক্ষেপ

  • Lambda রুবিতে একটি অ্যানোনিমাস ফাংশন, যা আর্গুমেন্ট গ্রহণ করতে পারে এবং সাধারণত একটি Proc অবজেক্ট হিসেবে কাজ করে।
  • রুবিতে lambda তৈরি করার জন্য দুটি প্রধান পদ্ধতি রয়েছে: lambda {} এবং -> {}
  • Lambda এবং Proc এর মধ্যে একটি প্রধান পার্থক্য হল return behavior
  • Lambda সাধারণত ফাংশনাল প্রোগ্রামিংয়ের জন্য ব্যবহৃত হয় এবং এটি কোডে আর্গুমেন্ট চেকিং এবং আরও সুনির্দিষ্ট আচরণ প্রদান করে।
Content added By
Promotion

Are you sure to start over?

Loading...