すっきり表記したいから演算子をオーバーロードするのですが、優先順位を意識して設計しないと括弧だらけになってしまいます。
Usage |
Implementation |
x() |
x.call() |
x[y] |
x.getAt(y) |
x++ |
x.next() |
x-- |
x.previous() |
~x |
x.bitwiseNegate() |
公式ドキュメントにはbitwiseNegateが他と同レベルと書かれているのですが、実際に~x++を実行するとnextの後でした。 |
|
Usage |
Implementation |
x**y |
x.power(y) |
Usage |
Implementation |
+x |
x.positive() |
-x |
x.negative() |
Usage |
Implementation |
x*y |
x.multiply(y) |
x/y |
x.div(y) |
x%y |
x.mod(y) |
Usage |
Implementation |
x+y |
x.plus(y) |
x-y |
x.minus(y) |
Usage |
Implementation |
x<<y |
x.leftShift(y) |
x>>y |
x.rightShift(y) |
x>>>y |
x.rightShiftUnsigned(y) |
Usage |
Implementation |
x in y |
y.isCase(x) |
x as y |
x.asType(y) |
Usage |
Implementation |
x&y |
x.and(y) |
Usage |
Implementation |
x^y |
x.xor(y) |
Usage |
Implementation |
x|y |
x.or(y) |
Usage |
Implementation |
x[y] = z |
x.putAt(y, z) |