**
指数関数をオーバーロードするために使用したい。「^」のようなものを使用すると機能しますが、Pythonの方法は**
Swiftで使用したいと考えています。それを行う方法はありますか?
エラー: 一致する演算子宣言のない演算子の実装
@infix func ** (num: Double, power: Double) -> Double{
return pow(num, power)
}
println(8.0**3.0) // Does not work
**
指数関数をオーバーロードするために使用したい。「^」のようなものを使用すると機能しますが、Pythonの方法は**
Swiftで使用したいと考えています。それを行う方法はありますか?
エラー: 一致する演算子宣言のない演算子の実装
@infix func ** (num: Double, power: Double) -> Double{
return pow(num, power)
}
println(8.0**3.0) // Does not work
** が隣接する * または / の前に実行されるようにするには、優先順位を設定する必要があります。
infix operator ** { associativity left precedence 160 }
http://nshipster.com/swift-operators/が示すように、指数演算子の優先順位は << および >> ビットごとのシフト演算子と同様に 160 です。