我有一个非常简单的函数来说明Python中的yield关键字:
def simpleFun():
yield 1
yield 2
yield 3
x=simpleFun()
print(x.next())
print(x.next())
print(x.next())
将会输出
1
2
3
如何在 Julia 中编写等效函数。
我已经看到“yield”关键字在 Julia 的不同上下文中使用。 参考:“yield”关键字在 Julia 中起什么作用?
这是一种遵循Python代码风格的方法:
julia> using ResumableFunctions
julia> @resumable function simplefunction()
@yield 1
@yield 2
@yield 3
end
simplefunction (generic function with 1 method)
julia> x = simplefunction()
var"##simplefunction_FSMI#293"(0x00)
julia> print(x())
1
julia> print(x())
2
julia> print(x())
3