/ / Помилка компіляції швидкого закриття із занадто складним виразом - swift, xcode, closures, компілятор-помилка

Не вдалося скомпілювати Swift-закриття, воно дуже складне - швидке, xcode, закриття, компілятор-помилка

public static func easeOutQuint(_ t: Float, _ b: Float, _ c: Float, _ d: Float = 1.0) -> Float {
return {
return c * ($0 * $0 * $0 * $0 * $0 + 1.0) + b
}(t / d - 1.0)
}

Я не знайомий із закриттям, тому не можу самостійно це виправити, хтось може мені допомогти?

Відповіді:

0 для відповіді № 1

Закриття - чудовий інструмент, але в цьому конкретному прикладі вам було б краще без їх ІМО ...

Наприклад, ви можете переписати свою функцію просто як:

public static func easeOutQuint(_ t: Float, _ b: Float, _ c: Float, _ d: Float = 1.0) -> Float {
let x = (t / d - 1.0)
return c * (pow(x, 5) + 1) + b
}

І, до речі, це має скомпілюватися просто чудово будь-який Swift-компілятор, з яким ви стикаєтесь;)