Chcę użyć ** do przeciążenia funkcji wykładniczej. Pracuję, jeśli używam czegoś takiego jak "^", ale sposób pisania python jest ** i chciałbym użyć tego z szybkim. Jakikolwiek sposób to zrobić?Jak używać ** dla wykładników za pomocą @infix func **()?
błąd: realizacja Operator z deklaracji operatora z pasującym
@infix func ** (num: Double, power: Double) -> Double{
return pow(num, power)
}
println(8.0**3.0) // Does not work
Czy jesteś pewien, że '^' działa zgodnie z przeznaczeniem? Mam tylko to, aby działać jako dodatek: 'println (1^2) == 3' – vol7ron
@ vol7ron'^'to Bitowy operator XOR. '1^2' jest po prostu przypadkowo równe' 1 + 2'. Zobacz [The Swift Programming Language] (https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language), Przewodnik po językach -> Operatorzy zaawansowani -> Operatory bitowe XOR. – Lensflare
@ Lensflare: Mówiłem o Pythonie, gdzie '^' nie działa jako wykładnik. Myślę, że się myliłem i błędnie przeczytałem pytanie, które sugeruje, że mógłby przeciążyć '^' w Swift, aby działać jak karetka, ale chciał użyć '**', które nie działało, gdy próbowałem przeciążać. – vol7ron