ばぐとらぶごる

開発者もすなるぶろぐといふものを、エンバグ野郎もしてみむとてするなり。

里々のユリウス日計算スクリプト(修正版)

id:Umihotaru:20081226 のスクリプトが整備班版里々で怪しい動きをしていたので、下記の通り修正です。

@ユリウス日
(calc,
365*(ユリウス日要素)+(ユリウス日要素)/4
+3059*((if,(A1)>2,−2,10)+(A1))/100
+(ユリウス日要素)/400
−(ユリウス日要素)/100
+(A2)+1721089)

@ユリウス日要素
((A0)−(if,(A1)>2,0,1))

修正箇所は1箇所だけで「@ユリウス日要素」の部分です。
A1パラメータ(年月日の月)が2以上の場合、旧版では、

  • ((A0)(if,(A1)>2,,-1))
  • ((A0)(if,5>2,,-1))
  • ((A0))
  • (2014)
  • \s[2014]

というふうに、数値のみを括弧で再評価した結果、\sタグに化けて以降の演算を壊してしまう問題がありました。

修正分では、ダミーのゼロを入れているため、

  • ((A0)−(if,(A1)>2,0,1))
  • ((A0)−(if,5>2,0,1))
  • (2014−0)
  • 2014

というふうに数値として扱われ、以降の演算で異常は起きなくなります。

里々改修版の互換バグか記述の不具合か怪しいところですけど、とりあえず修正まで。