2015-07-13 2 views
3

Comment le faire en utilisant un setMethod comme section de fonction est le même dans les deux codes de ligne suivants? comme signature ("Triangle | Carré"). Je vous remercie.setMethod pour deux signatures d'objet différentes dans R

setMethod("sides", signature("Triangle"), function(object) 3) 
setMethod("sides", signature("Square"), function(object) 3) 

Répondre

4

L'approche habituelle est

.sides_body = function(object) 3 
setMethod("sides", "Triangle", .sides_body) 
setMethod("sides", "Square", .sides_body) 

moins qu'il y ait une relation de classe et la définition sont les mêmes classes à travers

setClass("Shape") 
setClass("Triangle", contains="Shape") 
setClass("Square", contains="Shape") 
setClass("Circle", contains="Shape") 
setMethod("sides", "Shape", function(boject) 3) 
setMethod("sides", "Circle", function(object) Inf)