r - R中两个不同对象签名的setMethod

标签 r s4

如何使用一个setMethod使下面两行代码的函数段相同?像签名(“三角形|方形”)。谢谢。

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

最佳答案

通常的做法是

.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)

关于r - R中两个不同对象签名的setMethod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31392715/

相关文章:

r - 如何从 wordcloud R 包中删除单词以便它们可以包含在输出中?

r - 从原点到某个点的绘图箭头

r - 字符串向量的逐元素串联

r - 错误 : $ operator not defined for this S4 class

R texreg : How can I select the gof statistics to be displayed?

r - dplyr 与 qdap 发生变异 :synonmyms giving Error: wrong result size

r - 如何用ggplot2缩放第二个轴,第二个轴有负值

r - 缺少参数的方法分派(dispatch)

r - S4 类 : arguments passed to new() don't go into their slots

r - 我如何查看现有类(class)