English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

وظائف مجهولة Scala

وظائف Scala

قواعد تعريف الوظائف المجهولة في Scala بسيطة، حيث تكون اليسار هي قائمة المعاملات واليمن هي جسم الوظيفة.

باستخدام الوظائف المجهولة، أصبح شيفرة لدينا أكثر بساطة.

عبرة التالية تعريف وظيفة مجهولة تقبل معامل من نوع Int:

تعريف inc = (x: Int) => x + 1

التعريف السابق للوظيفة المجهولة، هو في الواقع طريقة مختصرة للكتابة التالية:

تعريف add2 = جديد Function1[Int, Int]{  
    تعريف تطبيق (x: Int): Int = x + 1;  
} 

الوظيفة inc في هذا المثال الآن يمكن استخدامها كوظيفة، باستخدام الطريقة التالية:

var x = inc(7)-1

يمكننا أيضًا تعريف عدة معاملات في الوظيفة المجهولة، مثلما يلي:

var mul = (x: Int, y: Int) => x*y

يمكن استخدام mul كوظيفة، باستخدام الطريقة التالية:

println(mul(3, 4))

يمكننا أيضًا عدم إعداد أي معاملات للوظيفة المجهولة، مثلما يلي:

var userDir = () => { System.getProperty("user.dir") }

يمكن استخدام userDir كوظيفة، باستخدام الطريقة التالية:

println( userDir() )

مثال عبر الإنترنت

object Demo {
   def main(args: Array[String]) {
      println( "multiplier(1) value = " +  multiplier(1) )
      println( "multiplier(2) value = " +  multiplier(2) )
   }
   var factor = 3
   val multiplier = (i:Int) => i * factor
}

احفظ الكود التالي في ملف Demo.scala، ثم أ�行ر الحسابات التالية:

$ scalac Demo.scala
$ scala Demo

النتيجة الصادرة هي:

multiplier(1) value = 3
multiplier(2) value = 6

وظائف Scala