/* Page prose (ja) */
"SequenceOverTime" = "# 時間をかけて値が到着するシーケンス\n\n普通の `for` ループはすでにご存じでしょう。\n\n```\nfor reading in [21, 22, 20] {\n    print(reading)\n}\n```\n\nそのループは、始まる前にすべての要素を手にしています。**非同期シーケンス**は、ループが始まる時点ではまだ要素が存在しないかもしれないシーケンスです。それぞれが準備できるまでに、ネットワークの往復、タイマーの刻み、センサーのサンプリングが必要になることもあります。新しい書き方 `for await` でそれをループします。\n\n```\nfor await reading in someAsyncSequence {\n    print(reading)\n}\n```\n\nこれはこう読みます。*「次の値をください。まだ準備できていなければ、準備できるまでこのタスクを中断し、それから本体を実行してください」* [async/await の基礎](Async%20Await%20Basics.playgroundchapter/Overview) の章で `await` について学んだことがすべて当てはまります。ループは中断でき、その間に他の作業が動き、ページは呼吸を続けます。唯一の新しい考え方は、中断が**要素ごとに一度**起こり、呼び出し全体で一度ではない、ということです。\n\nこれが最初の具体的な味見です。シーケンスがどう作られるかはまだ気にしないでください。ループに集中しましょう。この代役のセンサーは 3 つの測定値を渡します。";
"SequenceOverTime-2" = "**実行して確認:** 3 つの測定値が順番に表示され、続いて `Done` が表示されます。ループは*ひとりでに*最後まで走りました。「止まれ」とは一度も書いていません。非同期シーケンスは自身の終わりを知らせ、そうすると `for await` ループは終了し、制御はその次の行へ移ります。\n\n* callout(試してみよう): `continuation.finish()` をコメントアウトして、もう一度実行してみましょう。3 つの測定値は変わらず表示されますが、`Done` は決して表示されません。ループはまだ次の値を待っています。\n\n> **なぜ Task なのか？** Playground のページは上から下へ実行され、トップレベルで `await` できません。そのため、この章のすべての `for await` は `Task { }` の中で動きます。タスクが反復している間、ページは動き続けます。これは [タスクとキャンセル](Tasks%20and%20Cancellation.playgroundchapter/Overview) の章と同じパターンです。\n\n[前へ](@previous)  |  2 / 7 ページ  |  [次へ: AsyncStream でシーケンスを生成する](@next)";
