В чем разница между .Object и object в функции инициализации R S4? - PullRequest
0 голосов
/ 23 декабря 2018

Я использую S4 в R и что бы определить инициализировать функцию.Но .Object работает хорошо, а object не удастся.почему?

############ method1: Bad
setMethod("initialize", "XY2Z", function(object,...){
  object <- callNextMethod()
  object@nodes <- getNodes(object)
  object
})
########### method2: Good
setMethod("initialize", "XY2Z", function(.Object,...){
  .Object <- callNextMethod()
  .Object@nodes <- getNodes(.Object)
  .Object
})

method1: ошибка в конформметоде (подпись, имена, имена, имена, имена, имена, имена, имена, имена, имена, имена, имена, имена):参数 忽略 的 正式 参数 (.Object = "XY2Z", ... = "XY2Z") 不能 存在 于 标记

method2: хорошо работать

1 Ответ

0 голосов
/ 23 декабря 2018

Я не уверен, почему ошибка возникает только в одном случае, однако здесь может быть исправление

initialize <- function(object,...) 0
setGeneric("initialize")
# method 1 (doesn't give an error)
setMethod("initialize", "XY2Z", function(object,...){
  object <- callNextMethod()
  object@nodes <- getNodes(object)
  object
})
...