問題タブ [yield-from]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 「yield from」はどのようなオブジェクトで使用できますか?
最初に ( PEP 380 )、yield from
「サブジェネレータ」への委譲に使用する構文が導入されました。その後、廃止されたジェネレーターベースのコルーチンで使用されました。
yield from
一般的にどのようなオブジェクトに適用できるのかわかりません。私の最初の推測は__iter__
、イテレータを返すために必要なのはオブジェクトのメソッドだけだというものでした。実際、以下は Python 3.8 で動作します。
asyncio.sleep(1)
ただし、メソッドを持たないのような一部の awaitable でも機能し__iter__
ます。
一般的なルールは何ですか?yield from
オブジェクトがformの引数として与えられるかどうかを決定するものは何ですか?
php - 同じ関数での「yield」と「yield from」
yield
同じ機能を使用する必要がありますが、最後または(最後に来るもの)yield from
のみを生成すると、意図したとおりに機能しないようです。yield from
yield
私のコードは ( https://3v4l.org/jFDXh ):
すべての PHP バージョンで のみを出力しますが、代わりに出力[ 7, 8, 9 ]
する必要があることは明らかです。[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
ただし、を介して同じことを行うとforeach
、すべてが正常に見えます。に関連する問題のようですiterator_to_array()
が、実際にはこれGenerator
を配列に変換する必要があります。
それで、私は何が欠けていますか?
python - Pythonコルーチンで「yield from」を理解するには?
コードはFluent Python 1st edtionから来ています。
の行が理解できません。その行while True:
をgrouper
削除するとStopIteration
エラーが発生します。
grouper
しかし、それが機能しない新しいバージョンが見つかりましたwhile True:
。(または別の)group.send(None)
で別のループが必要なのはなぜですか?while True:
results[key] = yield from averager()
私の理解でgroup.send(None)
は、停止して値yield from averager()
を割り当てresults[key]
ます(Result(count, average)
)。それで全部です。