从参数(Ruby)调用外部对象的方法

时间:2017-01-30 02:15:17

标签: ruby oop rspec weakly-typed

每个人,

我正在为今年上大学的课程工作,我们应该在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不知道对象是什么类型。我的问题是,是否有办法让这个工作或我应该只使用邻接矩阵?

0 个答案:

没有答案