returnFunc
- это функция curry , тип которой также можно записать как func returnFunc() -> ((Int) -> String)
, поскольку на самом деле это функция, которая не принимает входных аргументов и возвращает другую функцию, которая принимает один входной аргументвведите Int
и вернет String
.
Так что, вызывая returnFunc()
, вы просто возвращаете функцию, а именно innerFunc
, но вам необходимо передать входной аргумент innerFunc
, чтобы иметь возможностьвыполнить это.Это делается с помощью (5)
в конце returnFunc()(5)
.
Становится понятнее, если вы напишите это в следующих шагах:
let innerFunc = returnFunc()
let fiveString = innerFunc(5) // "value returned: 5"