def count(windows): for window in windows: if morning in window: with window: yield ...
A function containing `yield` does not execute everything at once, but returns values little by little each time `next()` is called. `...` is a special object called `Ellipsis`. As it goes through windows, when morning is included, it is returned. However, how it is used depends on the caller. `with window:` is syntax that ensures the window is opened and then always closed.
In this poem, the act of counting is depicted not as showing a final answer, but as a repeated activity that continues along with the action of opening and closing windows. That repetition continues as time waiting for light.
`yield` を含む関数は、一度にすべてを実行せず、`next()` が呼ばれるたびに少しずつ値を返します。`...` は `Ellipsis`(省略)と呼ばれる特別なオブジェクトです。窓をめぐり、朝を含むとき、それが返されます。ただし、それがどう使われるかは呼び出し元に依存します。`with window:` は、窓が開けられ、そして必ず閉じられることを保証する構文です。
この詩では、数えるという行為が、最終的な答えを示すことではなく、窓を開き閉じる動作とともに繰り返される営みとして描かれています。その反復は、光を待つ時間として続いていきます。