SWIFT: функция в качестве возвращаемого значения
func oneFuction()->(){
print("функция которая ничего не возвращает")
}
oneFuction()
func twoFunction()->()->Void{
print("Функция twoFunction() которая возвращает функцию ->(), которая ничего не возвращает ->() или ->Void")
return oneFuction
}
->() может служить как обозначением функции которая ничего не возвращает, так и обозначением возврата другой функции.
Если возвращаемая функция ничего не возвращает то в функции которая возвращает эту функцию это обозначается ->() или ->Void .
Имя возвращаемой функции указывается без скобок return oneFuction .
var OF=twoFunction()
func threeFunction(text:String)->String{
return text
}
func fourFunction()->(String)->String{
return threeFunction
}
var TF = fourFunction()
TF("hello")
Функция возвращает функцию с параметром типа строка (String) и возвращающимся значением типа строка (String).
Возвращаемая функция присваивается в качестве значения переменной TF.
При вызове функции через TF имя параметра не указывается.
func fiveFunction(text:[Int])->[Int]{
return text
}
func sixFunction()->([Int])->[Int]{
return fiveFunction
}
var SF=sixFunction()
SF([1,2,3,4,5])
Функция возвращает функцию которая в качестве значения параметра принимает числовой массив и возвращает числовой массив.