函数 Base.+ 必须显式导入才能扩展
function Base.+ must be explicitly imported to be extended
我是 julia 的新手,如果我的问题很愚蠢,请原谅我,
例如我定义了这样一个类型:
type Vector2D
x::Float64
y::Float64
end
和 2 个对象 w 和 v:
v = Vector2D(3, 4)
w = Vector2D(5, 6)
如果我把它们加起来会出现这个错误:MethodError: no method matching +(::Vector2D, ::Vector2D)
没关系,但是当我想为
总结论文对象
+(a::Vector2D, b::Vector2D) = Vector2D(a.x+b.x, a.y+b.y)
它引发了这个错误:
error in method definition: function Base.+ must be explicitly imported to be extended
朱莉娅版本 0.5
如错误消息所述,您必须告诉 Julia 您想要从 Base(标准库)扩展 +
函数:
import Base: +, -
+(a::Vector2D, b::Vector2D) = Vector2D(a.x + b.x, a.y + b.y)
-(a::Vector2D, b::Vector2D) = Vector2D(a.x - b.x, a.y - b.y)
我是 julia 的新手,如果我的问题很愚蠢,请原谅我,
例如我定义了这样一个类型:
type Vector2D
x::Float64
y::Float64
end
和 2 个对象 w 和 v:
v = Vector2D(3, 4)
w = Vector2D(5, 6)
如果我把它们加起来会出现这个错误:MethodError: no method matching +(::Vector2D, ::Vector2D)
没关系,但是当我想为
总结论文对象
+(a::Vector2D, b::Vector2D) = Vector2D(a.x+b.x, a.y+b.y)
它引发了这个错误:
error in method definition: function Base.+ must be explicitly imported to be extended
朱莉娅版本 0.5
如错误消息所述,您必须告诉 Julia 您想要从 Base(标准库)扩展 +
函数:
import Base: +, -
+(a::Vector2D, b::Vector2D) = Vector2D(a.x + b.x, a.y + b.y)
-(a::Vector2D, b::Vector2D) = Vector2D(a.x - b.x, a.y - b.y)