English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
الوظيفة العليا (Higher-Order Function) هي وظيفة تعمل على وظائف أخرى
يُسمح باستخدام الوظائف العليا في Scala، يمكن للوظائف العليا استخدام وظائف أخرى كمعاملين أو استخدام وظائف كنتائج
في المثال التالي، استخدمت وظيفة apply() وظيفة أخرى f والقيمة v كمعاملين، والوظيفة f تستدعي المعامل v:
object Test { def main(args: Array[String]) { println( apply( layout, 10) ) } // الوظيفة f والقيمة v كمعاملين، والوظيفة f تستدعي المعامل v def apply(f: Int => String, v: Int) = f(v) def layout[A](x: A) = "[" + x.toString() + "]" }
تنفيذ الكود أعلاه، الناتج سيكون:
$ scalac Test.scala $ scala Test [10]