从 RC class 方法打印时出现未使用的参数错误
unused argument error when printing from RC class method
我正在创建一个 RC class 并在 class 方法中尝试 print(.self$something)
我得到:
Error in print(.self$something) : unused argument (.self$something)
我是 R 的新手,我是不是漏掉了什么?
这是一个要求我们使用 RC classes 的作业,使用 R6 不是一个选项。
myclass <- setRefClass("myclass",
fields = list (
formula = "formula",
data = "data.frame",
something = "numeric"
),
methods = list (
initialize = function(formula, data) {
...
},
print = function() {
...
print(.self$something)
},
)
)
a <- myclass$new(formula,data)
a$print()
> Error in print(.self$something) : unused argument (.self$something)
编辑:额外信息,如果我尝试 a$something
我得到了我应该得到的。
尝试在打印功能中使用 cat,您现在处于本地打印功能环境中并尝试调用系统 "print" 功能。我建议你使用 cat 如下:
cat(.self$something)
它会完成工作
正如@Mohammed 提到的,这是因为我在自己的打印环境中进行打印。虽然 cat()
可能是一个选项,但后来我遇到了其他问题,其中 cat 没有打印对象(它可能是一个单独的线程,所以我不会在这里深入讨论)。
我最终做的是为该特定数据类型调用打印函数。例如,如果 something
是 data.frame
我调用了 print.data.frame(.self$something)
并按预期工作。
我正在创建一个 RC class 并在 class 方法中尝试 print(.self$something)
我得到:
Error in print(.self$something) : unused argument (.self$something)
我是 R 的新手,我是不是漏掉了什么? 这是一个要求我们使用 RC classes 的作业,使用 R6 不是一个选项。
myclass <- setRefClass("myclass",
fields = list (
formula = "formula",
data = "data.frame",
something = "numeric"
),
methods = list (
initialize = function(formula, data) {
...
},
print = function() {
...
print(.self$something)
},
)
)
a <- myclass$new(formula,data)
a$print()
> Error in print(.self$something) : unused argument (.self$something)
编辑:额外信息,如果我尝试 a$something
我得到了我应该得到的。
尝试在打印功能中使用 cat,您现在处于本地打印功能环境中并尝试调用系统 "print" 功能。我建议你使用 cat 如下:
cat(.self$something)
它会完成工作
正如@Mohammed 提到的,这是因为我在自己的打印环境中进行打印。虽然 cat()
可能是一个选项,但后来我遇到了其他问题,其中 cat 没有打印对象(它可能是一个单独的线程,所以我不会在这里深入讨论)。
我最终做的是为该特定数据类型调用打印函数。例如,如果 something
是 data.frame
我调用了 print.data.frame(.self$something)
并按预期工作。