当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R chooseOpsMethod 选择适当的操作方法


R语言 chooseOpsMethod 位于 base 包(package)。

说明

chooseOpsMethod 是当为给定调用找到两个合适的方法时由 Ops Group Generic 调用的函数。它根据正在分派的对象确定使用哪种方法进行操作。

首先使用 reverse = FALSE 调用该函数,其中 x 对应于组通用调用的第一个参数,y 对应于第二个参数。如果chooseOpsMethod()x返回FALSE,则再次调用chooseOpsMethod,其中xy交换,mxmy交换,以及reverse = TRUE

用法

chooseOpsMethod(x, y, mx, my, cl, reverse)

参数

x , y

由组通用分派的对象。

mx , my

为对象 xy 找到的方法。

cl

对组通用的调用。

reverse

逻辑值,指示 xy 是否与它们提供给通用的方式相反。

此函数必须返回 TRUEFALSE 。值 TRUE 指示应使用方法 mx

例子


# Create two objects with custom Ops methods
foo_obj <- structure(1, class = "foo")
bar_obj <- structure(1, class = "bar")

`+.foo` <- function(e1, e2) "foo"
Ops.bar <- function(e1, e2) "bar"

invisible(foo_obj + bar_obj) # Warning: Incompatible methods

chooseOpsMethod.bar <- function(x, y, mx, my, cl, reverse) TRUE

stopifnot(exprs = {
  identical(foo_obj + bar_obj, "bar")
  identical(bar_obj + foo_obj, "bar")
})

# cleanup
rm(foo_obj, bar_obj, `+.foo`, Ops.bar, chooseOpsMethod.bar)

也可以看看

Ops

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Choose the Appropriate Method for Ops。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。