如何在 Julia 中编写一个简单的函数,类似于 python 中带有 Yield 关键字的函数

问题描述 投票:0回答:1

我有一个非常简单的函数来说明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 中起什么作用?

julia yield
1个回答
0
投票

这是一种遵循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
© www.soinside.com 2019 - 2024. All rights reserved.