Class: When::CalendarTypes::TableBased
- Inherits:
-
TM::Calendar
- Object
- BasicTypes::Object
- TM::Object
- TM::ReferenceSystem
- TM::Calendar
- When::CalendarTypes::TableBased
- Defined in:
- lib/when_exe/calendartypes.rb
Overview
月日の配当パターンの種類が限定されている暦の抽象基底クラス
Calendar which has some fixed arrangement rules for under year
Direct Known Subclasses
Bahai, CyclicTableBased, Discordian, Jewish, Nanakshahi, PatternTableBasedLuniSolar, RevisedBengali, ThaiP, WeekDate, YearLengthTableBased
Constant Summary
Constants included from When::Coordinates
When::Coordinates::Bahai, When::Coordinates::Common, When::Coordinates::DefaultDateIndices, When::Coordinates::DefaultDayIndex, When::Coordinates::DefaultTimeIndices, When::Coordinates::Indian, When::Coordinates::Iranian, When::Coordinates::Javanese, When::Coordinates::MATCH, When::Coordinates::Mayan, When::Coordinates::PERIOD, When::Coordinates::PERIOD_NAME, When::Coordinates::PRECISION, When::Coordinates::PRECISION_NAME, When::Coordinates::Tibetan, When::Coordinates::VALUE, When::Coordinates::Yi
Constants included from Parts::Resource
Parts::Resource::ConstList, Parts::Resource::ConstTypes, Parts::Resource::IRIHeader, Parts::Resource::LabelProperty
Instance Attribute Summary
Attributes inherited from TM::Calendar
Attributes included from TimeStandard::TimeBasis
Attributes inherited from TM::ReferenceSystem
#domain_of_validity, #position
Attributes inherited from BasicTypes::Object
Attributes included from Parts::Resource
#_pool, #child, #keys, #locale, #namespace
Instance Method Summary collapse
-
#_coordinates_to_number(y, m, d) ⇒ Integer
年月日 -> 通日.
-
#_length(date) ⇒ Object
暦要素数.
-
#_number_to_coordinates(sdn) ⇒ Array<Integer>
通日 - > 年月日.
Methods inherited from TM::Calendar
#_new_month_, _setup_, #_to_month_number_, #date_trans, #jul_trans, #rate_of_clock, #strftime, #time_standard, #to_cal_date, #to_julian_date, #to_universal_time
Methods included from TimeStandard::TimeBasis
Methods included from When::Coordinates
Methods inherited from TM::ReferenceSystem
Methods included from Parts::Resource
#[], #^, _abbreviation_to_iri, _decode, _encode, _extract_prefix, _instance, _instantiate, _parse, _path_with_prefix, _replace_tags, _setup_, _setup_info, _simplify_path, base_uri, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?, root_dir
Methods included from Parts::Resource::Pool
#[], #[]=, #_pool, #_setup_, #pool_keys
Methods included from Parts::Resource::Synchronize
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class When::Parts::Resource
Instance Method Details
#_coordinates_to_number(y, m, d) ⇒ Integer
年月日 -> 通日
362 363 364 365 366 367 368 |
# File 'lib/when_exe/calendartypes.rb', line 362 def _coordinates_to_number(y, m, d) sdn = _sdn([+y]) rule = _rule(_key([+y])) sdn += d + rule['Offset'][m] return sdn if d >= 0 return sdn + rule['Length'][m % rule['Length'].length] end |
#_length(date) ⇒ Integer #_length(date) ⇒ Integer
暦要素数
409 410 411 412 413 414 415 416 417 418 419 420 421 |
# File 'lib/when_exe/calendartypes.rb', line 409 def _length(date) y, m = date if (m) # 指定した月に含まれる日の数を返します。 return @unit[2] if @unit[2] rule = _rule(_key([y])) return rule['Length'][m % rule['Length'].length] else # 指定した年に含まれる月の数を返します。 return @unit[1] if @unit[1] return _rule(_key([y]))['Months'] end end |
#_number_to_coordinates(sdn) ⇒ Array<Integer>
通日 - > 年月日
379 380 381 382 383 384 385 386 387 388 389 |
# File 'lib/when_exe/calendartypes.rb', line 379 def _number_to_coordinates(sdn) y, d = Residue.mod(sdn) {|n| _sdn([n])} rule = _rule(_key([y])) (rule['Months']-1).downto(0) do |m| if d >=rule['Offset'][m] d -= rule['Offset'][m] return [y, m, d] end end return nil end |