【发布时间】:2015-03-20 11:51:55
【问题描述】:
所以在 Julia 中,每个函数都有方法。
以下是有道理的:
f(x, y) = x + y
f(x) = x + 2
这提供了两个附加到这个函数的方法。
但是假设我想向现有的 Julia 函数添加一个方法,而不是覆盖它。
例如:
a = [2, 3]
push!(a, 4)
a == [2, 3, 4] # true
type Node
children :: Array{Node}
end
function push!(base :: Node, child :: Node)
push!(base.children, child)
end
这就是我想做的;扩展现有功能以适当地处理新类型。但这会引发错误。这可能吗?
【问题讨论】:
-
这几乎是一个exact duplicate。我不会投票结束,因为我实际上认为您的问题比链接的问题更清楚(尽管链接问题的答案更彻底)。
-
谢谢——我没看到