日本語 · English

nth — 各窓の第 N を選ぶ

分類: 選択子(本体層 core) / シグネチャ: nth(n) : Stream(windowed) -> Stream / 名は確定(spec §5.4)

意味

各窓の中で n 要素(1 起点)を選ぶ。窓相対(I4)で、窓ごとに数え直す。既定の対象は最内窓、 入れ子で曖昧なときは of: w で対象窓を明示する(nth(2, of: quarter)。§4.3・first の例)。 「第 N」は窓の起点にも依存する——within(week) の第 N は WKST(週の開始)で変わる二段依存 (選択子 → 窓 → WKST。ADR-24)。この依存は窓名の解決に局所化されている。

要素が n 個に満たない窓からは何も出ない(空は正当・ADR-15)。

毎月 25 日(給料日の前段。第 25 の):

# eval: 2026-01-01..2026-02-01
@JP
everyDay |> within(month) |> nth(25)
#=> 2026-01-25

毎月の第 2 営業日——入力を営業日に間引いてから月窓で数える:

# eval: 2026-01-01..2026-02-01
@JP
everyDay |> filter(on: bizDay) |> within(month) |> nth(2)
#=> 2026-01-05

(2026-01 の営業日は 1/2, 1/5, …——1/1 は祝日なので第 2 営業日は 1/5。)

「月の第 N 営業日」の正準形は within+nth(還流第 3 便 F102 への回答——専用選択子は不要)。 営業日が N 日に満たない月は正当な空(I15)=filter 型と同じ縁ケース保証が選択子で立つ。 「第 2 月曜」(ハッピーマンデー級)も同形(月曜列 |> within(month) |> nth(2)):

# eval: 2026-01-01..2026-03-01
@JP
bizDay |> within(month) |> nth(2)
#=> 2026-01-05 2026-02-03

落とし穴

関連

firstlastwithinordinalIn・I4・ADR-24。