如何在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

目前,RDF模块中的函数定义如下所示:

function start(graph::Graph)
    return GraphIterator(collect(keys(graph.statements)), nothing, nothing, nothing, [], [])
end

知道我在做什么错吗?

约翰·邓宁

不要忘记指定Base.-您正在向现有函数添加方法。

module MyMod
  type Blah
    data
  end
  export Blah
  Base.start(b::Blah) = 1
  Base.done(b::Blah,state) = length(b.data) == state-1
  Base.next(b::Blah,state) = b.data[state], state+1
end
using MyMod
x = Blah([1,2,3])
for i in x
  println(i)
end

从Julia 0.3开始使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在TypeScript的类原型中实现迭代器?

来自分类Dev

在Julia中为PyPlot动画实现迭代器

来自分类Dev

如何在flatMap函数中实现迭代

来自分类Dev

如何实现迭代器?

来自分类Dev

如何实现迭代器?

来自分类Dev

如何在Julia中实现递减的for循环?

来自分类Dev

如何在Julia中实现SingleLinkedList

来自分类Dev

如何在结构体中的数组块上实现迭代器?

来自分类Dev

如何在C ++中为复合容器类实现迭代器

来自分类Dev

Javascript:如何在多维数组上实现迭代器?

来自分类Dev

在pyd中实现迭代器

来自分类Dev

如何在Julia中在for循环中实现5维数组?

来自分类Dev

如何在Julia中实现二叉搜索树?

来自分类Dev

如何在Rust中实现装饰器?

来自分类Dev

如何实现带框值的迭代器?

来自分类Dev

如何实现“方列表”迭代器

来自分类Dev

如何实现赋予结构寿命的迭代器?

来自分类Dev

如何实现委托给HashMap :: values()的迭代器

来自分类Dev

C ++如何实现双向链表的迭代器

来自分类Dev

STL容器中的迭代器实现

来自分类Dev

如何在新迭代器中产生迭代器中的元素?

来自分类Dev

如何在Gradle输出迭代器中获取ABI名称

来自分类Dev

如何在Lambda操作中获取当前的迭代器

来自分类Dev

如何在python中控制迭代器的结果顺序

来自分类Dev

C ++中迭代器的指针如何在循环中变化?

来自分类Dev

如何在Struts 2迭代器中获取值的总和?

来自分类Dev

如何在C ++中返回有效的迭代器?

来自分类Dev

如何在列表迭代器中查找特定项目

来自分类Dev

如何在Java的迭代器中获取JSON值