2015-07-13 4 views
3

Как сделать это с помощью одного метода setMethod, поскольку раздел функции является тем же самым в следующих двух строках? («Треугольник | Квадрат»). Спасибо.setMethod для двух разных сигнатур объектов в R

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

ответ

4

Обычный подход

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

если нет отношения класса и определение же через классы

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) 

 Смежные вопросы

  • Нет связанных вопросов^_^