日本語 · English

strideBy — 幅で刻む「w ごと」

分類: ストライド(本体層 core) / シグネチャ: strideBy(w, from:) : Stream -> Stream / 名は確定(spec §5.4)

意味

起点 from: からw の等差で点を刻む。stride が「入力の点を n 個ごと」 (点で数える)なのに対し、strideBy は「物理量 w ごと」(幅で刻む)——暦のリズムに 乗らない周期(火星の 1 sol・90 分ごと・36 時間ごと)のための演算子で、引数の種類の違いから taketakeLast とともにストライド族四演算子に割られている (spec §4.7・ADR-38/49/52)。

起点 from: は必須(ADR-31。stride と一族共通の規則)。from: は前方専用——起点より前へは 刻まない(起点前の評価範囲は黙って空になる。壁時計 tick を全期間に張るなら、from: に単独時刻 リテラル Thh:mm を渡す=epoch 錨日 1970-01-01 での錨打ちで欠落が構造的に消える。市民日幅 1d 専用・ADR-51。日付つき anchor を書くなら評価範囲より前の日付を選ぶこと)。

36 時間ごと(経過時間の複合幅):

# eval: 2026-01-01..2026-01-05
@JP
everyInstant |> strideBy(36h, from: 2026-01-01)
#=> 2026-01-01 2026-01-02T12:00 2026-01-04

火星の 1 sol ごとは everyInstant の例を参照 (strideBy(24h39m35.244s, from: …))。

落とし穴

関連

stridetakeeveryInstant・幅リテラル(spec §5.5・ADR-11/12/28)。