Method: When::CalendarNote::Japanese::Dates#initialize
- Defined in:
- lib/when_exe/region/japanese/notes.rb
#initialize(date, year = date.most_significant_coordinate, precision = date.precision, cal4note = nil) ⇒ Dates
初期設定
427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 |
# File 'lib/when_exe/region/japanese/notes.rb', line 427 def initialize(date, year=date.most_significant_coordinate, precision=date.precision, cal4note=nil) # 暦注パターン if cal4note # 年代による判定 (1...NoteRange.size).to_a.reverse.each do |i| if year >= NoteRange[i][0] @range = i break end end @range ||= 0 else # 暦法による判定 cal4note = Cal4Note.new(date.frame, date.frame.twin) @range = case cal4note.l_calendar.formula[-1] when When::Ephemeris::ChineseTrueLunation::JujiMethods ; 11 # 江戸時代の暦 when When::Ephemeris::ChineseTrueLunation date.frame.twin =~ /戊寅|麟徳/ ? 1 : 10 # 唐代定朔暦(儀鳳暦 or 宣明暦) when When::Ephemeris::MeanLunation ; 0 # 唐代以前平朔暦(元嘉暦) else ; 15 # 現代の旧暦 end end # 具注暦の配置 @index_g = NoteRange[@range][1] # 七十二候 @index_s = NoteRange[@range][2] # その他の属性 @year = year @precision = precision @cal4note = cal4note @o_date = date @l_date = @cal4note.l_calendar ^ date @m_date = date.frame.kind_of?(When::CalendarTypes::Christian) ? @l_date : @o_date @s_date = @cal4note.s_calendar ^ date end |