Si consideri il seguente:R, R6 overloading degli operatori
A = R6::R6Class("ClassA")
B = R6::R6Class("ClassB")
`+.ClassA` = function(o1,o2) o1 #Trivial Example, Usually do something
`+.ClassB` = function(o1,o2) o1 #Trivial Example, Usually do something
a = A$new()
b = B$new()
a + b
che getta un errore:
Warning: Incompatible methods ("+.ClassA", "+.ClassB") for "+"
Error in a + b : non-numeric argument to binary operator
Come può quanto sopra essere risolto, in modo che entrambi A
e B
può sovraccaricare l'operatore +
, e essere aggiunto insieme.