I am trying to create a generator that prints the next number on the list. This is a racket version:
(require racket/generator)
(define my-gen
(generator
(_)
(for ([x (list 1 2 3))])
(yield x)))
)
How it should work:
(my-gen) -> 1
(my-gen) -> 2
I also want to be able to use the function directly without having to initialize it at a specific point, so having the generator be the function that actually returns the result, as opposed to something like this:
l = [1, 2, 3]
def myGen():
for element in l:
yield element
g = myGen()
print(next(g))
What is the best way to go about this in python?