ジェネレータとは何か?
ジェネレータは値を一度に一つずつ生成する特別な関数であり、各yieldの後に実行を中断し、次の値が要求されたときに中断した場所から再開します。これらの一時停止をまたいでローカルな状態を保ち、結果全体をメモリ上に構築しません。ジェネレータは、遅延的で必要に応じた並びを表現する便利な方法です。
なぜ重要か
値を遅延的に生成することで、ジェネレータは大きな、あるいは無限の並びを一定のメモリで扱えます。項目がどのように生成されるかと、消費側がどのように反復するかを、きれいに分離します。
関連ガイド
What Is an Iterator Protocol?An iterator protocol is the standard interface a type implements to be traversed element by element, typicall…
What Is Lazy Evaluation?Lazy evaluation delays computing an expression until its value is actually needed, and may skip it entirely i…
What Is a Continuation?A continuation represents the rest of a computation at a given point, as a value that can be invoked later to…