English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا المقال، ستعلم Swift وظائف المدمجة وكيفية استخدامها مع أمثلة.
إذا كان هناكالوظيفةتسمى وظيفة موجودة داخل جسم وظيفة أخرى بـ "وظيفة مدمجة".
func funcname() { //جملة وظيفة خارجية func anotherFuncname() { //جملة وظيفة داخلية
في هذا السياق، وظيفة anotherFuncname تقع داخل جسم وظيفة funcname.
يجب الانتباه إلى أن الوظائف الداخلية يمكن استخدامها وتطبيقها فقط داخل الوظيفة المدمجة (الوظيفة الخارجية).
func outputMessageByGreeting(_ message: String) { func addGreetingAndPrint() { print("Hello! \(message)") addGreetingAndPrint() outputMessageByGreeting("Jack")
عند تشغيل البرنامج، الناتج هو:
Hello! Jack
في البرنامج المذكور أعلاه، تم استدعاء وظيفة مدمجة addGreetingAndPrint() من وظيفة outputMessageByGreeting().
استدعاء الجملة outputMessageByGreeting("Jack") وظيفة خارجية. استدعاء الجملة addGreetingAndPrint() في الجملة الخارجية وظيفة outputMessageByGreeting() ينشط إصدار Hello Jack!
لا يمكنك استدعاء وظيفة addGreetingAndPrint خارج وظيفة outputMessageByGreeting.
الوظائف المدمجة يمكن أن تحتوي على وظائف تحتوي على معلمات ونتائج.
func operate(with symbol: String) -> (Int, Int) -> Int { func add(num1: Int, num2: Int) -> Int { return num1 + num2 func subtract(num1: Int, num2: Int) -> Int { return num1 - num2 let operation = (symbol == "+") ? add : subtract return operation let operation = operate(with: "+") let result = operation(2, 3) print(result)
عند تشغيل البرنامج، الناتج هو:
5
في البرنامج المذكور أعلاه،
الوظيفة الخارجية هي operate()، النوع هو Function (Int,Int) -> Int.
الدوال الداخلية (المدمجة) هي add() وsubtract().
يتم استخدام الطريقة المدمجة للوظائف add() وsubtract() خارج الوظيفة المحكمة المدمجة operate(). هذا ممكن لأن الوظيفة الخارجية تعود إحدى هذه الوظائف.
لقد استخدمنا الدوال الداخلية للوظيفة المحكمة operate() خارجياً كـ operation(2,3). يتم استدعاء add(2,3) داخل البرنامج، ويتم إدخال 5 في الشاشة.