Сделать `==` универсальной функцией в R
Я хотел бы сделать ==
универсальная функция.
Когда я бегу: setGeneric("==")
определение не меняется:
> `==`
function (e1, e2) .Primitive("==")
> setGeneric("==")
[1] "=="
> `==`
function (e1, e2) .Primitive("==")
И когда я звоню setgeneric("`==`")
Я получаю следующую ошибку:
> setGeneric("`==`")
Error in setGeneric("`==`") :
must supply a function skeleton for ‘`==`’, explicitly or via an existing function
Я могу определить ==
функция с:
`==` <- function(x,y) 42;
И тогда я могу использовать setGeneric
в теме. Но тогда мне пришлось бы поставить тело оригинала ==
там, который кажется неуклюжим.
Так есть ли способ сделать ==
быть универсальным в S4?
1 ответ
Решение
Благодаря ответу MrFlick:
Оказывается, что ==
уже является общим (реализовать в C). Так что вам не нужно звонить setGeneric
,
Скорее, вы можете просто использовать setMethod
,
setMethod("==",
c(e1="Class1",e2="Class2"),
funciton(e1,e2) { .... })