當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。