我想使用 **
重载指数函数。如果我使用类似“^”的东西,我会工作,但 python 的做法是 **
我想将它与 Swift 一起使用。有什么办法吗?
error: Operator implementation without matching operator declaration
@infix func ** (num: Double, power: Double) -> Double{
return pow(num, power)
}
println(8.0**3.0) // Does not work
最佳答案
在定义函数之前需要先声明运算符,如下:
在 Swift 2 中:
import Darwin
infix operator ** {}
func ** (num: Double, power: Double) -> Double {
return pow(num, power)
}
println(8.0 ** 3.0) // works
在 Swift 3 中:
import Darwin
infix operator **
func ** (num: Double, power: Double) -> Double {
return pow(num, power)
}
print(8.0 ** 3.0) // works
关于swift - 如何使用 ** 用于指数使用 @infix func **( )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24084801/