Я создал класс Matrix
в Groovy, и перегружает функцию multiply()
, так что я могу легко писать такие вещи, как:от перегрузки BigDecimal в Groovy
Matrix m1 = [[1.0, 0.0],[0.0,1.0]]
Matrix m2 = m1 * 2.0
Matrix m3 = m1 * m2
Matrix m4 = m1 * [[5.0],[10.0]]
Но теперь, скажем, я пишу:
Matrix m5 = 2.0 * m1
Matrix m6 = [[5.0,10.0]] * m1
Эти две линии производят ошибку, потому что классы BigDecimal
и ArrayList
не может быть умножена на Matrix
.
Есть ли способ перегрузить multiply()
для этих классов? (Я знаю, что я мог бы просто расширить эти два класса, но есть способ сказать Groovy использовать расширенные классы при компиляции кода?)
Блестящий, спасибо! Любите придуманную математику :-) –