小编Joa*_*him的帖子

尽管显示方法(...)仍未找到功能签名

我是朱莉娅的新手,所以这可能是微不足道的.

我在一个看起来像的模块中有一个函数定义(使用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

6
推荐指数
1
解决办法
255
查看次数

在 Julia 中注册新包失败

我正在尝试注册一个新的 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

4
推荐指数
1
解决办法
1038
查看次数

如何在Julia中实现迭代器?

我试图在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

2
推荐指数
2
解决办法
2237
查看次数

标签 统计

julia ×3