Julia,输入存储本身

Julia,输入存储本身,julia,Julia,这是我的代码 abstract AbstractNode type Edge source::AbstractNode target::AbstractNode Edge(source::AbstractNode, target::AbstractNode) = new(source, target) end type Node <: AbstractNode edgeList::Vector{Edge} Node() = new([

这是我的代码

abstract AbstractNode

type Edge
    source::AbstractNode
    target::AbstractNode

    Edge(source::AbstractNode, target::AbstractNode) = new(source, target)
    end

type Node <: AbstractNode
    edgeList::Vector{Edge}

    Node() = new([])
    end

a = Node()
b = Node()
edge = Edge(a,b)
push!(a.edgeList, edge)
抽象节点
类型边缘
source::AbstractNode
目标::抽象节点
边缘(源::抽象节点,目标::抽象节点)=新建(源,目标)
终止

类型节点此问题已在Julia 0.3中修复,即我得到

julia> push!(a.edgeList, edge)
1-element Array{Edge,1}:
 Edge(Node([Edge(#= circular reference =#)]),Node([]))

下面是修复这个“bug”的方法(这是一个仅在输出意义上的bug-数据结构本身当然很好)。

这个问题在Julia 0.3中已经修复,即我得到了

julia> push!(a.edgeList, edge)
1-element Array{Edge,1}:
 Edge(Node([Edge(#= circular reference =#)]),Node([]))
下面是修复这个“bug”的方法(这只是一个输出意义上的bug——数据结构本身当然是完美的)