日本語 · English

ordinalIn — 枠窓内で単位窓が第何番目か

分類: 射影(値式・本体層 core) / シグネチャ: ordinalIn(u, w, d) : 点 -> 数値 / 名は確定(RC2・spec §5.4)

意味

d が属する枠窓 w の中で、d が属する単位窓 u が第何番目かを返す(1 起点)。 ordinalIn(day, month, d) は「月の第何日」、ordinalIn(day, week, d) は「週の第何日」。

選択子(窓 → 点)の双対——nth が「窓の第 N を取り出す」なら、ordinalIn は 「点が第何番目かを読む」。数える単位 u を明示する二窓引数なので、入力ストリームの粒度 (日か・瞬間か)に依存しない(ADR-30 (1))。

固定日——毎月 11 日:

# eval: 2026-01-01..2026-04-01
@JP
everyDay |> filter(d => ordinalIn(day, month, d) == 11)
#=> 2026-01-11 2026-02-11 2026-03-11

窓ごとにリセットする「n 個ごと」(ストライドの窓リセット版はこれに還元される。専用記法なし・ ADR-27)——各月の 1, 8, 15, 22, 29 日:

# eval: 2026-01-01..2026-02-01
@JP
everyDay |> filter(d => (ordinalIn(day, month, d) - 1) mod 7 == 0)
#=> 2026-01-01 2026-01-08 2026-01-15 2026-01-22 2026-01-29

落とし穴

関連

epochOrdinalnth(双対)・filterstride(リセットしない版)・ADR-27/30。