Class: Zakuro::Calculation::Solar::AbstractLocation
- Inherits:
-
Object
- Object
- Zakuro::Calculation::Solar::AbstractLocation
- Defined in:
- lib/zakuro/calculation/stella/solar/abstract_location.rb
Overview
AbstractLocation 入定気
Direct Known Subclasses
Version::Daien::Solar::Location, Version::Gihou::Solar::Location, Version::Senmyou::Solar::Location
Instance Attribute Summary collapse
- #calculated ⇒ True, False readonly
-
#index ⇒ Integer
readonly
連番.
-
#quarter ⇒ Cycle::AbstractRemainder
readonly
弦.
-
#remainder ⇒ Cycle::AbstractRemainder
readonly
大余小余.
Instance Method Summary collapse
-
#add_quarter ⇒ Object
弦の分だけ太陽地点を進める.
-
#initialize(lunar_age:, quarter:) ⇒ AbstractLocation
constructor
初期化.
-
#interval(index:) ⇒ Cycle::Remainder
二十四節気番号に対応する入気定日加減数を返す.
-
#interval_size ⇒ Integer
入気定日加減数の要素数を返す.
-
#invalid? ⇒ True, False
無効かどうか.
-
#run ⇒ Object
入定気を計算する.
Constructor Details
#initialize(lunar_age:, quarter:) ⇒ AbstractLocation
初期化
31 32 33 34 35 36 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 31 def initialize(lunar_age:, quarter:) @calculated = false @index = -1 @remainder = lunar_age.clone @quarter = quarter end |
Instance Attribute Details
#calculated ⇒ True, False (readonly)
17 18 19 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 17 def calculated @calculated end |
#index ⇒ Integer (readonly)
Returns 連番.
19 20 21 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 19 def index @index end |
#quarter ⇒ Cycle::AbstractRemainder (readonly)
Returns 弦.
23 24 25 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 23 def quarter @quarter end |
#remainder ⇒ Cycle::AbstractRemainder (readonly)
Returns 大余小余.
21 22 23 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 21 def remainder @remainder end |
Instance Method Details
#add_quarter ⇒ Object
弦の分だけ太陽地点を進める
60 61 62 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 60 def add_quarter remainder.add!(quarter) end |
#interval(index:) ⇒ Cycle::Remainder
Note:
継承で暦ごとの入気定日加減数を返す
二十四節気番号に対応する入気定日加減数を返す
73 74 75 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 73 def interval(index:) # abstract end |
#interval_size ⇒ Integer
Note:
継承で暦ごとの入気定日加減数の要素数を返す
入気定日加減数の要素数を返す
84 85 86 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 84 def interval_size # abstract end |
#invalid? ⇒ True, False
無効かどうか
53 54 55 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 53 def invalid? @index == -1 end |
#run ⇒ Object
入定気を計算する
41 42 43 44 45 |
# File 'lib/zakuro/calculation/stella/solar/abstract_location.rb', line 41 def run return current if calculated first end |