我是 R 中 OOP 的初学者,并且遇到了一个我找不到解决方案的问题。
我使用 setClass 在 R 中定义了一个类“节点”,其中包含有关网络中“节点”的信息 -
setClass(Class = "node",
representation = representation(nID = "integer", links = "integer",
capacity = "numeric"),
prototype = prototype(nID = integer(1), links = integer(20),
capacity = numeric(20)))
我真正想做的是创建一个包含多个“节点”的数组/列表,每个节点都属于“节点”类。就像是
nodeID[100] <- new("node")
但这显然行不通。我曾尝试创建数组并将它们的类转换为“节点”,但也没有这样做。
这将帮助我做一些事情,比如循环我系统中的所有节点——
for(i in 1:dim(nodeID))
{
nodeID[i]@capacity <- 1000
blah blah....
}
请注意,问题不是初始化/默认插槽的值(例如,在这种情况下为容量)。我能做到。任何帮助将不胜感激。
谢谢,
苏米特
回答 - -
感谢@Ricardo 和@dickoa。这就像我想要的那样创建了 nodeID 列表。
想要为其他面临同样问题的人添加,为了访问类“节点”列表的元素/插槽,您必须使用以下内容:
nodeID[[1]]@capacity[1]
另外,我将使用 lapply 而不是 for。
苏米特