Here, we will create a nested user-defined function with return values. The definition of a function contains the definition of another function is known as a nested function. And, we will perform addition and subtraction operations using nested function.
The source code to create a nested function with a return value is given below. The given program is compiled and executed successfully.
// Swift program to create a nested function
// with return values
func calculate(with opr:String) -> (Int, Int) -> Int {
func addition(n1:Int, n2:Int) -> Int {
var res:Int=0
res = n1 + n2
return res
}
func subtraction(n1:Int, n2:Int) -> Int {
var res:Int=0
res = n1 - n2
return res
}
let fun = (opr == "+") ? addition : subtraction
return fun
}
var result = 0
let AddNum = calculate(with: "+")
result = AddNum(50, 20)
print("Addition is: ",result)
let SubtractNum = calculate(with: "-")
result = SubtractNum(50, 20)
print("Subtraction is: ",result)
Output:
Addition is: 70
Subtraction is: 30
...Program finished with exit code 0
Press ENTER to exit console.
Explanation:
In the above program, we imported a package Swift to use the print() function using the below statement,
import Swift;
Here, we created a nested user-defined function calculate(). The calculate() function contains the definition of addition() and subtraction() functions. And, we called nested function based on the specified symbol for addition and subtraction and printed the result on the console screen.
Program/Source Code:
The source code to create a nested function with a return value is given below. The given program is compiled and executed successfully.
Output:
Explanation:
In the above program, we imported a package Swift to use the print() function using the below statement,
Here, we created a nested user-defined function calculate(). The calculate() function contains the definition of addition() and subtraction() functions. And, we called nested function based on the specified symbol for addition and subtraction and printed the result on the console screen.
need an explanation for this answer? contact us directly to get an explanation for this answer