可能吗?是的,但不是非常优雅的方式:julia> x = 1:5 1:5 julia> applicable(start, x) true julia> applicable(next,x,start(x)) true julia> applicable(done,x,start(x)) true 我不确定如何避免需要 start(x),也许检查 start 就足够了。 至于更明智的方法,这将需要多重继承或接口,正在讨论中,例如这里有一个问题,它链接到其他问题。
length(methods(start,(Symbol,)))
为零。 - Dan Getzmethod_exists
。 - simonster