Desidero utilizzare ** per sovraccaricare una funzione esponenziale. Funziono se uso qualcosa come "^" ma il modo in cui pitone è ** e mi piacerebbe usarlo con swift. Come posso farlo?Come usare ** per esponenti usando @infix func **()?
errore: implementazione operatore con dichiarazione di operatore di corrispondenza fuori
@infix func ** (num: Double, power: Double) -> Double{
return pow(num, power)
}
println(8.0**3.0) // Does not work
Sei sicuro che '^' funziona come previsto? Ho solo avuto modo di agire come un'aggiunta: 'println (1^2) == 3' – vol7ron
@ vol7ron'^'è l'Operatore XOR bit a bit. '1^2' è uguale per coincidenza a' 1 + 2'. Vedere [The Swift Programming Language] (https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language), Guida linguistica -> Operatori avanzati -> Operatore XOR bit a bit. – Lensflare
@Lensflare: stavo parlando di Python, dove '^' non funziona come esponente. Penso di aver sbagliato e di aver letto male la domanda, il che suggerisce che potrebbe sovraccaricare '^' in Swift per agire come un cursore, ma voleva usare '**', che non funzionava quando si cercava di sovraccaricare. – vol7ron