6
निम्नलिखित पर विचार करें:आर, R6 ऑपरेटर ओवरलोडिंग
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
कौन सा एक त्रुटि फेंकता है:
Warning: Incompatible methods ("+.ClassA", "+.ClassB") for "+"
Error in a + b : non-numeric argument to binary operator
ऊपर कैसे हल किया जा सकता है, तो दोनों A
और B
+
ऑपरेटर को ओवरलोड कर सकते हैं और एक साथ जोड़ा जाना चाहिए।