/ /式が複雑すぎるため、Swiftクロージャのコンパイルに失敗しました-swift、xcode、closures、compiler-bug

迅速なクロージャコンパイルが式が複雑すぎて失敗しました - 迅速、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)
}

私は閉鎖に慣れていないので、自分で修正することはできません。誰かが私を助けてくれますか?

回答:

回答№1は0

クロージャは優れたツールですが、この特定の例では、より良いでしょう なし それらIMO..。

たとえば、関数を次のように簡単に書き直すことができます。

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コンパイラ;)