我是朱莉娅的新手,所以这可能是微不足道的.
我在一个看起来像的模块中有一个函数定义(使用URIParser):
function add!(graph::Graph,
subject::URI,
predicate::URI,
object::URI)
...
end
Run Code Online (Sandbox Code Playgroud)
在模块之外,我打电话给:
add!(g, URIParser.URI("http://test.org/1"), URIParser.URI("http://test.org/2"), URIParser.URI("http://test.org/1"))
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误:
ERROR: no method add!(Graph,URI,URI,URI)
in include at boot.jl:238
in include_from_node1 at loading.jl:114
at /Users/jbaran/src/RDF/src/RDF.jl:79
Run Code Online (Sandbox Code Playgroud)
奇怪的.因为当我能看到匹配的签名时:
julia> methods(RDF.add!)
# 4 methods for generic function "add!":
add!(graph::Graph,subject::URI,predicate::URI,object::Number) at /Users/jbaran/src/RDF/src/RDF.jl:29
add!(graph::Graph,subject::URI,predicate::URI,object::String) at /Users/jbaran/src/RDF/src/RDF.jl:36
add!(graph::Graph,subject::URI,predicate::URI,object::URI) at /Users/jbaran/src/RDF/src/RDF.jl:43
add!(graph::Graph,statement::Statement) at /Users/jbaran/src/RDF/src/RDF.jl:68
Run Code Online (Sandbox Code Playgroud)
起初我以为这是我对object :: Union(...)的使用,但即使我用Number,String和URI定义了三个函数,我也会遇到这个错误.
有什么明显的东西让我失踪吗?顺便说一下,我正在使用Julia 0.2.1 x86_64-apple-darwin12.5.0.
谢谢,
金
我正在尝试注册一个新的 Julia 包,但Pkg.publish()失败了。它说我需要打电话Pkg.update()。后者告诉我一切都已经是最新的。
我在控制台中得到了什么:
julia> Pkg.update()
INFO: Updating METADATA...
INFO: Updating RDF...
INFO: Computing changes...
INFO: No packages to install, update or remove.
julia> Pkg.register("RDF")
INFO: Registering RDF at git://github.com/joejimbo/RDF.jl.git
INFO: Committing METADATA for RDF
julia> Pkg.publish()
ERROR: METADATA is behind origin/metadata-v2 – run Pkg.update() before publishing
in publish at pkg/entry.jl:259
in anonymous at pkg/dir.jl:28
in cd at file.jl:22
in cd at pkg/dir.jl:28
in publish at pkg.jl:53
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
谢谢,
金
我试图在Julia中实现一个迭代器,但是当for循环尝试调用时会得到异常start.
这是我得到的(我运行include(...),然后using RDF):
julia> methods(start)
# 1 method for generic function "start":
start(graph::Graph) at /Users/jbaran/src/RDF.jl/src/RDF.jl:214
julia> for x in g
println(x)
end
ERROR: `start` has no method matching start(::Graph)
in anonymous at no file
Run Code Online (Sandbox Code Playgroud)
RDF模块中的函数定义目前如下所示:
function start(graph::Graph)
return GraphIterator(collect(keys(graph.statements)), nothing, nothing, nothing, [], [])
end
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么吗?
julia ×3