Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Received-SPF: none (hypatia: domain of [EMAIL PROTECTED] does not designate permitted 
sender hosts)
X-Virus-Scanned: by amavisd-new at stat.math.ethz.ch
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on hypatia.math.ethz.ch
X-Spam-Level: 
X-Spam-Status: No, hits=0.2 required=5.0 tests=BAYES_50,NO_REAL_NAME autolearn=no 
version=2.63

Hi all,

I want to modify the value of an object's slot from within a method, as in the example 
below:

setClass("MyClass", representation(flag="numeric"))
if( !isGeneric("flipFlag") )
    setGeneric("flipFlag", function(object)
               standardGeneric("flipFlag"))
setMethod("flipFlag","MyClass",
          function(object) {

            # flips [EMAIL PROTECTED] from 0 to 1, or from 1 to 0
          })

This should work in a similar way as in other object-oriented languages where it would 
be written as 'object.flipFlag()'. However, there seems to be a problem with the 
call-by-value semantics of R, and the updated value is lost on leaving the function.

The following two options are not suitable for our task:
1.) Directly assigning to 'flag' via a method created by 'setReplaceMethod'. The 
method 'flipFlag' should require no parameters.
2.) Returning a new object, so that the user has to assign the new object to the old 
variable.

Thanks in advance,
  Tobi.
________________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to