0
我有一些代码,打印出它接收在一个循环的任何消息:如何将发电机转换为仅返回发电机产生的第一个值的功能?
import pytg
import pytg.utils
import pytg.receiver
@pytg.utils.coroutine
def receiver_function(tg_receiver):
while True:
message = (yield)
print(message)
tg_receiver = pytg.receiver.Receiver()
tg_receiver.start()
tg_receiver.message(receiver_function(tg_receiver))
receiver.stop()
我想改变这个代码,它使用一个简单的函数,停止遇到一个消息,直到然后返回一个消息,当然还有控制:
import pytg
import pytg.receiver
def get_one_message():
tg_receiver.start()
while #<insert magic>:
#<insert magic>
message = #<insert magic>
tg.receiver.stop()
return message
print(get_one_message())
这怎么办?
您可以在函数内的发生器上使用'next'来给出第一个值 – akash93