【发布时间】:2017-03-30 22:10:32
【问题描述】:
对于 Julia 中的 abstract 类型是否可以具有成员变量(如 C++ 中的虚拟类),我感到非常困惑。我确定文档提到它,但我找不到它!
我尝试了类似的方法:
abstract AbstractR
source
end
现在我有了一个具体的实现:
type RR <: AbstractR
end
function loadSource(reg::RR, x::AbstractString)
println("Hello")
end
但是,当我尝试加载模块时,我有:
错误:LoadError:LoadError:LoadError:UndefVarError:来源不是 定义
那么抽象类型只是一个类型名称而没有别的吗?另外,为什么语言设计者决定不支持成员变量(如果确实如此)。另外,我并没有真正看到拥有abstract 类型的意义......
编辑
模块文件
module TestProj
export AbstractR
export RR
include("generic.jl")
include("rr.jl")
end
generic.jl
abstract AbstractR
source
end
rr.jl
type RR <: AbstractR
end
function loadSource(reg::RR, x::AbstractString)
println("Hello")
end
【问题讨论】:
-
你使用的是哪个 Julia 版本?
-
@miguelraz 0.5.1
标签: julia