Мне интересно, есть ли эквивалент функции Swift @autoclosure
По сути, я хочу иметь возможность создать аргумент в функции или конструкторе / инициализаторе, который может взять другую функцию, которая принимает параметры, и выполнить ее:
class Step(handler: () -> Unit) {
init {
handler()
}
}
Step(aFunctionThatTakesParameters(parameter: String)) // <- Is there a way to get something like this working?
Для справки эквивалентный код в Swift выглядит следующим образом:
struct Step {
init(_ handler: @autoclosure () -> Void) {
handler()
}
}
Step(aFunctionThatTakesParameters(parameter: ""))