
Hi,
 
I'm new to R and S4 classes. I defined a class with two methods (myMethod1 and myMethod2). I want to call myMethod1 within myMethod2. Why does the code below not work? The name 'myMethod1' doesn't appear to have meaning inside myMethod2, even though the two methods belong to the same class.
 
 
setClass(Class="SomeClass",
     representation=representation(
      amount="numeric")
)
setGeneric (name="myMethod1",
  def=function(object){standardGeneric("myMethod1")}
)
setMethod(f = "myMethod1",
 signature = "SomeClass",
 definition=function(object) {print(object@amount)}
)
setGeneric(name="myMethod2",
  def=function(object){standardGeneric("myMethod2")}
)
setMethod(f = "myMethod2",
 signature = "SomeClass",
 definition=function(object) {print(myMethod1 * 2)}
)
instance <- new(Class="SomeClass", amount=10)
myMethod1(instance) # prints '10'
myMethod2(instance) # ERROR: is supposed to print '20'

Thank you in advance for your help!

Cheers!!
Albert-Jan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
All right, but apart from the sanitation, the medicine, education, wine, public order, irrigation, roads, a fresh water system, and public health, what have the Romans ever done for us?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


      
	[[alternative HTML version deleted]]

