提问人:Vinod 提问时间:9/4/2023 更新时间:9/18/2023 访问量:45
如何在 Julia 中编写一个简单的函数,类似于 python 中带有 yield 关键字的函数
How to write a simple function in Julia similar to a function with yield keyword in python
问:
我有一个非常简单的函数来说明 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 中有什么作用?
答:
2赞
Bill
9/18/2023
#1
下面是遵循 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
评论
yield
本质上是创建协程,Julia 支持协程。最接近的等价物是 @tasks。