English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
قواعد تعريف الوظائف المجهولة في 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