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