Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 参考类问题_R_Oop_Reference Class - Fatal编程技术网

R 参考类问题

R 参考类问题,r,oop,reference-class,R,Oop,Reference Class,我正在尝试用R创建一个简单的参考类。下面是我的代码(R初学者): 另外,没有调用初始化器方法 有人能告诉我问题在哪里吗?非常感谢。setRefClass的方法参数需要是一个命名列表。问题是您正在使用分配运算符 MyClass <- setRefClass("MyClass", fields = list(a = "numeric", b = "numeric"),

我正在尝试用R创建一个简单的参考类。下面是我的代码(R初学者):

另外,没有调用初始化器方法


有人能告诉我问题在哪里吗?非常感谢。

setRefClass的
方法
参数需要是一个命名列表。问题是您正在使用分配运算符

MyClass <- setRefClass("MyClass",
                       fields = list(a = "numeric",
                                     b = "numeric"),

                       methods = list(
                         initialize <- function(){
                           print("Initializing")
                           a <<- 1
                           b <<- 2
                         },

                         printValues <- function(){
                           print(a)
                           print(b)
                         }
                         )
                       )

a <- MyClass$new()
a$printValues()
Error in envRefInferField(x, what, getClass(class(x)), selfEnv) : 
  "printValues" is not a valid field or method name for reference class “MyClass”
list(a = 1, b = 2)
# $a
# [1] 1
# 
# $b
# [1] 2
list(a <- 1, b <- 2)
# [[1]]
# [1] 1
# 
# [[2]]
# [1] 2
methods = list(initialize = function [...],
               printValues = function [...]