Ist es möglich, eine allgemeine Potenzierungsoperator zu definieren, die wie folgt angeschlossen werden können:Wie definiere ich einen neuen Operator in Kotlin?
> 10^3 // 1000
> 2.71^2 // 7.3441
> 3.14^(-3.14) // 0.027..
Nach der Dokumentation ist es möglich, Klassen mit Infix Funktionen erweitern:
// Define extension to Int
infix fun Int.exp(exponent: Int): Int {
...
}
Aber sie haben nicht Symbole wie ^
Als Abgesehen davon, selbst wenn es möglich wäre, einen Exponentenoperator zu definieren, würde ich die Verwendung von '^' empfehlen. In Java, C# und vielen anderen Sprachen führt der '^' Operator [xor] (https://en.wikipedia.org/wiki/Exclusive_or) aus, so dass es überraschend wäre, wenn er in Kotlin etwas anderes macht. – ean5533
Ja, '**' wäre wahrscheinlich die sicherere Wahl. – TomTom