উপরের সমস্ত এবং নিচু উত্তরগুলি মূল প্রশ্নের সঠিক উত্তর দেয়, তবে কিছু অতিরিক্ত তথ্য https://docs.scala-lang.org/tour/pattern-matching.html ডকুমেন্টেশনে পাওয়া যায় , তারা আমার ক্ষেত্রে ফিট করে না তবে এই স্ট্যাকওভারফ্লো উত্তরটি গুগলের প্রথম পরামর্শ হ'ল আমি আমার উত্তরটি পোস্ট করতে চাই যা উপরের প্রশ্নের একটি কোণার বিষয়।
আমার প্রশ্নটি হ'ল:
- কোনও ফাংশনের আর্গুমেন্টের সাথে ম্যাচ এক্সপ্রেশনে গার্ড কীভাবে ব্যবহার করবেন?
যা প্যারাফ্রেস করা যেতে পারে:
- কোনও ফাংশনের আর্গুমেন্টের সাথে ম্যাচ এক্সপ্রেশনে যদি একটি বিবৃতি ব্যবহার করবেন?
উত্তরটি নীচের কোড উদাহরণ:
def drop[A](l: List[A], n: Int): List[A] = l match {
case Nil => sys.error("drop on empty list")
case xs if n <= 0 => xs
case _ :: xs => drop(xs, n-1)
}
স্কালা ফ্রিডেলের লিঙ্ক: https://scalafiddle.io/sf/G37THif/2
আপনি দেখতে পাবেন যে case xs if n <= 0 => xs
বিবৃতি প্রহরী (যদি) বিবৃতি দিয়ে এন (একটি ফাংশনের যুক্তি) ব্যবহার করতে সক্ষম হয়।
আমি আশা করি এটি আমার মতো কাউকে সহায়তা করবে।
case x if x.size > 2 => ...