FMD1

年の配当パターンが限定されている暦(デフォルトはイスラム暦)

スーパークラス:

クラス メソッド:

FMD1.instance(key)
文字列に対応するインスタンスを生成します。
  key  インスタンスを指定する文字列
FMD1.new([quality={})
FMD1 オブジェクトを生成して返します。
  quality  暦法の性質定義ハッシュ

ブライベート インスタンス メソッド:

FMD1#_new_year(y)
y で指定した年の始めの地方時正午通日を返します。
  y  年 
FMD1#_new_year_sd(y)
y で指定した年の始めの地方時正午通日と、その1年の日数を返します。
  y  年 
FMD1#_new_year_yd(sdn)
地方時正午通日 sdn を含む年と、その日の年の通日、その1年の日数を返します。
  sdn  地方時正午通日
FMD1#_read_period(key, akey, avalue, zkey, zvalue)
年の配当規則を読み出します。
  key    年の配当規則のキー
  akey   入力が'Days'か'Years'かを指定
  avalue 入力の'Days'または'Years'の値
  zkey   出力が'Years'か'Days'かを指定
  zvalue 出力の'Years'または'Days'の値
FMD1#_make_rule(key, rule)
new で指定された月日配当規則をプログラムで利用可能にします。

  key  年月日配当規則のハッシュキー
  rule 年月日配当規則
FMD1#_qualify
FMD1 オブジェクトの性質定義を初期設定します。

データ構造:

@YearEpoch : ルールで定義された周期の元期の西暦年数

@DayEpoch : ルールで定義された周期の元期の地方時正午通日

Integer
 これらの変数により、ルールで定義された暦法を絶対時間軸上に配置します。

@RuleTable : 年の配当ルールを定義するテーブル

Hash
 FMD1 オブジェクトはハッシュのハッシュ@RuleTableにルール情
 報を保持しています。次はそのハッシュの要素の説明です。

'Rule' : ルールのを定義するキーからなるハッシュ

Hash {上位キー => [[下位キー,繰り返し回数], ..], ...}
  上位キーで定義されるルールが、下位キーで定義されるルールの繰り返しを
  含むシーケンスからなることを、再起的に定義しています。最下位キーは、
  スーパークラスである FMD で定義した月日配当ルールを保持しています。