每个人,
我正在为今年上大学的课程工作,我们应该在Ruby中实现图表。这是我在这个环境中第一次使用Ruby,所以我很难处理整个弱类型的方面。
我试图让每个顶点存储与它相关的边缘,如
def new_edge v1, v2, *lv
edge = MyEdge.new *lv
v1.incident_edges.push(edge)
v2.incident_edges.push(edge)
return edge
end
因此,此方法将两个顶点和一个可选名称作为参数。我在MyVertex类中也有attr_accessor :incident_edges
。
问题在于,当我尝试使用rspec运行它时,我得到了`undefined methods incident_edges'对于nil:NilClass,这是有道理的,因为Ruby不知道对象是什么类型。我的问题是,是否有办法让这个工作或我应该只使用邻接矩阵?