when_exe 0.4.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/LICENSE.ja.txt +8 -21
- data/LICENSE.txt +5 -27
- data/README.md +25 -79
- data/bin/.pryrc +9 -0
- data/bin/make_ttl.rb +3 -2
- data/bin/make_ttl.rb.config +3 -3
- data/lib/when_exe.rb +101 -5
- data/lib/when_exe/basictypes.rb +47 -16
- data/lib/when_exe/calendarnote.rb +27 -18
- data/lib/when_exe/calendartypes.rb +12 -50
- data/lib/when_exe/coordinates.rb +37 -391
- data/lib/when_exe/ephemeris.rb +53 -14
- data/lib/when_exe/ephemeris/eclipse.rb +8 -8
- data/lib/when_exe/ephemeris/moon.rb +333 -333
- data/lib/when_exe/ephemeris/notes.rb +29 -17
- data/lib/when_exe/ephemeris/phase_table.rb +825 -0
- data/lib/when_exe/ephemeris/term_table.rb +603 -0
- data/lib/when_exe/events.rb +1888 -0
- data/lib/when_exe/google_api.rb +26 -31
- data/lib/when_exe/icalendar.rb +129 -12
- data/lib/when_exe/inspect.rb +5 -5
- data/lib/when_exe/linkeddata.rb +43 -23
- data/lib/when_exe/locales/akt.rb +63 -0
- data/lib/when_exe/locales/encoding_conversion.rb +134 -134
- data/lib/when_exe/locales/iast.rb +90 -90
- data/lib/when_exe/locales/locale.rb +88 -18
- data/lib/when_exe/locales/transliteration_table.rb +62 -62
- data/lib/when_exe/mini_application.rb +14 -8
- data/lib/when_exe/namespace.rb +42 -0
- data/lib/when_exe/parts/enumerator.rb +16 -5
- data/lib/when_exe/parts/geometric_complex.rb +52 -2
- data/lib/when_exe/parts/method_cash.rb +229 -224
- data/lib/when_exe/parts/resource.rb +65 -35
- data/lib/when_exe/parts/timezone.rb +25 -34
- data/lib/when_exe/region/balinese.rb +5 -3
- data/lib/when_exe/region/chinese.rb +39 -11
- data/lib/when_exe/region/chinese/calendars.rb +1016 -1016
- data/lib/when_exe/region/chinese/epochs.rb +7 -7
- data/lib/when_exe/region/chinese/notes.rb +3 -3
- data/lib/when_exe/region/chinese/twins.rb +134 -11
- data/lib/when_exe/region/dee.rb +4 -4
- data/lib/when_exe/region/discordian.rb +1 -1
- data/lib/when_exe/region/geologicalage.rb +139 -128
- data/lib/when_exe/region/hanke_henry.rb +4 -4
- data/lib/when_exe/region/indian.rb +77 -8
- data/lib/when_exe/region/international_fixed.rb +3 -3
- data/lib/when_exe/region/islamic.rb +1 -1
- data/lib/when_exe/region/japanese.rb +12 -8
- data/lib/when_exe/region/japanese/calendars.rb +397 -397
- data/lib/when_exe/region/japanese/eclipses.rb +1194 -1194
- data/lib/when_exe/region/japanese/epochs.rb +8 -4
- data/lib/when_exe/region/japanese/location.rb +93 -0
- data/lib/when_exe/region/japanese/nihon_shoki.rb +70 -70
- data/lib/when_exe/region/japanese/notes.rb +57 -18
- data/lib/when_exe/region/japanese/residues.rb +33 -11
- data/lib/when_exe/region/japanese/twins.rb +27 -14
- data/lib/when_exe/region/japanese/weeks.rb +7 -7
- data/lib/when_exe/region/korean.rb +384 -384
- data/lib/when_exe/region/location.rb +40 -0
- data/lib/when_exe/region/martian.rb +1 -1
- data/lib/when_exe/region/mayan.rb +2 -2
- data/lib/when_exe/region/roman.rb +2 -2
- data/lib/when_exe/region/ryukyu.rb +101 -101
- data/lib/when_exe/region/saudi_arabian.rb +57 -0
- data/lib/when_exe/region/shire.rb +1 -1
- data/lib/when_exe/region/world.rb +3 -3
- data/lib/when_exe/region/zoroastrian.rb +1 -1
- data/lib/when_exe/spatial.rb +611 -0
- data/lib/when_exe/timestandard.rb +9 -7
- data/lib/when_exe/tmobjects.rb +34 -2
- data/lib/when_exe/tmposition.rb +225 -1322
- data/lib/when_exe/tmptypes.rb +1279 -0
- data/lib/when_exe/tmreference.rb +42 -7
- data/lib/when_exe/version.rb +3 -3
- data/test/events/example-datasets +6 -0
- data/test/events/history-dataset.csv +22 -0
- data/test/events/japanese-holiday-index.csv +28 -0
- data/test/events/japanese-holiday.csv +94 -0
- data/test/events/japanese-holiday.ttl +948 -0
- data/test/events/make_events_ttl.rb +18 -0
- data/test/events/mori_wikichoshi.csv +14 -0
- data/test/events/ndl_koyomi.csv +220 -0
- data/test/events/ndl_koyomi_index.csv +44 -0
- data/test/events/primeminister-dataset.csv +19 -0
- data/test/events/shogun-dataset.csv +22 -0
- data/test/events/test-history-dataset-edge-sparql.csv +26 -0
- data/test/events/test-history-dataset-edge.csv +27 -0
- data/test/events/test-history-dataset-sparql.csv +22 -0
- data/test/events/test-history-dataset.csv +23 -0
- data/test/events/test-history-events-edge.ttl +89 -0
- data/test/events/test-history-events.csv +6 -0
- data/test/examples/JapanHolidays.ics +2 -2
- data/test/examples/JapanHolidaysRFC6350.ics +3 -3
- data/test/examples/Residue.m17n +2 -2
- data/test/examples/Spatial.m17n +3 -3
- data/test/examples/Terms.m17n +3 -3
- data/test/scripts/8.ext.rb +6 -6
- data/test/scripts/8.rb +6 -6
- data/test/scripts/geometric_complex.rb +41 -41
- data/test/scripts/korea.rb +59 -59
- data/test/scripts/thai.rb +36 -36
- data/test/test.rb +6 -0
- data/test/test/basictypes.rb +431 -431
- data/test/test/calendarnote.rb +86 -86
- data/test/test/calendartypes.rb +97 -97
- data/test/test/coordinates.rb +399 -397
- data/test/test/ephemeris.rb +115 -115
- data/test/test/ephemeris/moon.rb +14 -14
- data/test/test/ephemeris/planets.rb +14 -14
- data/test/test/ephemeris/sun.rb +14 -14
- data/test/test/events.rb +32 -0
- data/test/test/google_api.rb +45 -32
- data/test/test/inspect.rb +153 -153
- data/test/test/parts.rb +488 -488
- data/test/test/region/armenian.rb +20 -20
- data/test/test/region/bahai.rb +58 -58
- data/test/test/region/balinese.rb +34 -34
- data/test/test/region/chinese.rb +229 -229
- data/test/test/region/christian.rb +226 -226
- data/test/test/region/coptic.rb +27 -27
- data/test/test/region/discordian.rb +20 -20
- data/test/test/region/french.rb +33 -33
- data/test/test/region/geologicalage.rb +17 -17
- data/test/test/region/indian.rb +14 -1
- data/test/test/region/iran.rb +54 -54
- data/test/test/region/islamic.rb +64 -54
- data/test/test/region/japanese.rb +281 -261
- data/test/test/region/jewish.rb +63 -63
- data/test/test/region/m17n.rb +21 -21
- data/test/test/region/mayan.rb +17 -16
- data/test/test/region/reforms.rb +2 -2
- data/test/test/region/residue.rb +7 -7
- data/test/test/region/shire.rb +58 -58
- data/test/test/region/swedish.rb +45 -45
- data/test/test/region/thai.rb +116 -116
- data/test/test/region/tibetan.rb +30 -30
- data/test/test/region/vietnamese.rb +102 -102
- data/test/test/region/zoroastrian.rb +58 -58
- data/test/test/timestandard.rb +81 -81
- data/test/test/tmobjects.rb +402 -402
- data/test/test/tmposition.rb +66 -4
- data/test/test/tmreference.rb +157 -157
- metadata +36 -93
@@ -0,0 +1,89 @@
|
|
1
|
+
@prefix dc: <http://purl.org/dc/elements/1.1/> .
|
2
|
+
@prefix dcq: <http://purl.org/dc/terms/> .
|
3
|
+
@prefix ex: <http://example.com/> .
|
4
|
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
5
|
+
@prefix ts: <http://hosi.org/ts#> .
|
6
|
+
|
7
|
+
ex:1 rdfs:label "{康元元}:{第5代}{執権}の{北条時頼}、{執権}{辞任}、{翌日}{出家}。";
|
8
|
+
ts:east 1.39581758e2;
|
9
|
+
ts:north 3.5361604e1;
|
10
|
+
ts:south 3.5304314e1;
|
11
|
+
ts:start 2180156;
|
12
|
+
ts:west 1.39490658e2;
|
13
|
+
dc:contributor "須賀隆";
|
14
|
+
dcq:abstract "{康元元}:{第5代}{執権}の{北条時頼}、{執権}{辞任}、{翌日}{出家}。";
|
15
|
+
dcq:hasPart "康元元",
|
16
|
+
"第5代",
|
17
|
+
"執権",
|
18
|
+
"北条時頼",
|
19
|
+
"辞任",
|
20
|
+
"翌日",
|
21
|
+
"出家";
|
22
|
+
dcq:spatial "神奈川県鎌倉市";
|
23
|
+
dcq:valid "1256-11-22^^Japanese" .
|
24
|
+
|
25
|
+
ex:2 rdfs:label "{康元元}:{前日}{執権}を{辞任}した{北条時頼}、{出家}。";
|
26
|
+
ts:east 1.39581758e2;
|
27
|
+
ts:north 3.5361604e1;
|
28
|
+
ts:south 3.5304314e1;
|
29
|
+
ts:start 2180157;
|
30
|
+
ts:west 1.39490658e2;
|
31
|
+
dc:contributor "須賀隆";
|
32
|
+
dcq:abstract "{康元元}:{前日}{執権}を{辞任}した{北条時頼}、{出家}。";
|
33
|
+
dcq:hasPart "康元元",
|
34
|
+
"前日",
|
35
|
+
"執権",
|
36
|
+
"辞任",
|
37
|
+
"北条時頼",
|
38
|
+
"出家";
|
39
|
+
dcq:spatial "神奈川県鎌倉市";
|
40
|
+
dcq:valid "1256-11-23^^Japanese" .
|
41
|
+
|
42
|
+
ex:3 rdfs:label "{天文24}:{厳島}の{合戦}で{毛利元就}が{陶晴賢}を滅ぼす。";
|
43
|
+
ts:east 1.3234682e2;
|
44
|
+
ts:north 3.4479038e1;
|
45
|
+
ts:south 3.4267624e1;
|
46
|
+
ts:start 2289310;
|
47
|
+
ts:west 1.32083881e2;
|
48
|
+
dc:contributor "須賀隆";
|
49
|
+
dcq:abstract "{天文24}:{厳島}の{合戦}で{毛利元就}が{陶晴賢}を滅ぼす。";
|
50
|
+
dcq:hasPart "天文24",
|
51
|
+
"厳島",
|
52
|
+
"合戦",
|
53
|
+
"毛利元就",
|
54
|
+
"陶晴賢";
|
55
|
+
dcq:spatial "広島県廿日市市";
|
56
|
+
dcq:valid "1555-10-01^^Japanese" .
|
57
|
+
|
58
|
+
ex:4 rdfs:label "{慶應2}:{将軍}{徳川家茂}が{大坂城}中で{病死}する。{21歳}。{毒殺説}もある。";
|
59
|
+
ts:east 1.35595982e2;
|
60
|
+
ts:north 3.4766764e1;
|
61
|
+
ts:south 3.458949e1;
|
62
|
+
ts:start 2402843;
|
63
|
+
ts:west 1.35391479e2;
|
64
|
+
dc:contributor "須賀隆";
|
65
|
+
dcq:abstract "{慶應2}:{将軍}{徳川家茂}が{大坂城}中で{病死}する。{21歳}。{毒殺説}もある。";
|
66
|
+
dcq:hasPart "慶應2",
|
67
|
+
"将軍",
|
68
|
+
"徳川家茂",
|
69
|
+
"大坂城",
|
70
|
+
"病死",
|
71
|
+
"21歳",
|
72
|
+
"毒殺説";
|
73
|
+
dcq:spatial "大阪市";
|
74
|
+
dcq:valid "1866-07-20^^Japanese" .
|
75
|
+
|
76
|
+
ex:5 rdfs:label "{大同元}:{空海}が用いたとされる{日曜日}の{起点}";
|
77
|
+
ts:east 1.35873329e2;
|
78
|
+
ts:north 3.528243e1;
|
79
|
+
ts:south 3.4886268e1;
|
80
|
+
ts:start 2015474;
|
81
|
+
ts:west 1.35577055e2;
|
82
|
+
dc:contributor "suchowan";
|
83
|
+
dcq:abstract "{大同元}:{空海}が用いたとされる{日曜日}の{起点}";
|
84
|
+
dcq:hasPart "大同元",
|
85
|
+
"空海",
|
86
|
+
"日曜日",
|
87
|
+
"起点";
|
88
|
+
dcq:spatial "京都市";
|
89
|
+
dcq:valid "0806-01-02^^Japanese" .
|
@@ -0,0 +1,6 @@
|
|
1
|
+
valid,abstarct,contributor,mbox,created,domain,remark,location
|
2
|
+
"1256-11-22^^Japanese","{康元元}:{第5代}{執権}の{北条時頼}、{執権}{辞任}、{翌日}{出家}。","須賀隆","suchowan@box.email.ne.jp","","","高柳光寿・竹内理三編『日本史辞典』","神奈川県鎌倉市"
|
3
|
+
"1256-11-23^^Japanese","{康元元}:{前日}{執権}を{辞任}した{北条時頼}、{出家}。","須賀隆","suchowan@box.email.ne.jp","","","高柳光寿・竹内理三編『日本史辞典』","神奈川県鎌倉市"
|
4
|
+
"1555-10-01^^Japanese","{天文24}:{厳島}の{合戦}で{毛利元就}が{陶晴賢}を滅ぼす。","須賀隆","suchowan@box.email.ne.jp","","","コンサイス世界年表","広島県廿日市市"
|
5
|
+
"1866-07-20^^Japanese","{慶應2}:{将軍}{徳川家茂}が{大坂城}中で{病死}する。{21歳}。{毒殺説}もある。","須賀隆","suchowan@box.email.ne.jp","","","","大阪市"
|
6
|
+
"0806-01-02^^Japanese","{大同元}:{空海}が用いたとされる{日曜日}の{起点}","suchowan","","Sat Jun 22 1:35:54 JST 2002 ","1","日本史小百科「暦」","京都市"
|
@@ -1,5 +1,5 @@
|
|
1
1
|
BEGIN:VCALENDAR
|
2
|
-
# Copyright (C) 2011 Takashi SUGA
|
2
|
+
# Copyright (C) 2011-2015 Takashi SUGA
|
3
3
|
#
|
4
4
|
# You may use and/or modify this file according to the license
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
@@ -8,7 +8,7 @@ BEGIN:VCALENDAR
|
|
8
8
|
VERSION:2.0
|
9
9
|
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
|
10
10
|
LOCALE:[ja=ja:,*en=en:]
|
11
|
-
NAMESPACE:[ja=
|
11
|
+
NAMESPACE:[ja=https://ja.wikipedia.org/wiki/,en=https://en.wikipedia.org/wiki/]
|
12
12
|
BEGIN:VTIMEZONE
|
13
13
|
TZID:Asia/Tokyo
|
14
14
|
X-LIC-LOCATION:Asia/Tokyo
|
@@ -1,5 +1,5 @@
|
|
1
1
|
BEGIN:VCALENDAR
|
2
|
-
# Copyright (C) 2011-
|
2
|
+
# Copyright (C) 2011-2015 Takashi SUGA
|
3
3
|
#
|
4
4
|
# You may use and/or modify this file according to the license
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
@@ -7,8 +7,8 @@ BEGIN:VCALENDAR
|
|
7
7
|
|
8
8
|
VERSION:2.0
|
9
9
|
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
|
10
|
-
NAMESPACE;ALTID=1;PREFIX=ja:
|
11
|
-
NAMESPACE;ALTID=1;PREFIX=en:
|
10
|
+
NAMESPACE;ALTID=1;PREFIX=ja:https://ja.wikipedia.org/wiki/
|
11
|
+
NAMESPACE;ALTID=1;PREFIX=en:https://en.wikipedia.org/wiki/
|
12
12
|
BEGIN:VTIMEZONE
|
13
13
|
TZID:Asia/Tokyo
|
14
14
|
X-LIC-LOCATION:Asia/Tokyo
|
data/test/examples/Residue.m17n
CHANGED
@@ -3,8 +3,8 @@ BEGIN:B:M17N
|
|
3
3
|
#
|
4
4
|
# You may use and/or modify this file according to the license
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
6
|
-
NAMESPACE:[en=
|
7
|
-
ja=
|
6
|
+
NAMESPACE:[en=https://en.wikipedia.org/wiki/,
|
7
|
+
ja=https://ja.wikipedia.org/wiki/]
|
8
8
|
LOCALE:[=en:, ja=ja:, alias]
|
9
9
|
NAMES:[Residue]
|
10
10
|
|
data/test/examples/Spatial.m17n
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
BEGIN:B:M17N
|
2
|
-
# Copyright (C) 2011-
|
2
|
+
# Copyright (C) 2011-2015 Takashi SUGA
|
3
3
|
#
|
4
4
|
# You may use and/or modify this file according to the license
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
6
|
-
NAMESPACE:[ja=
|
7
|
-
NAMESPACE;ALTID=1;PREFIX=en:
|
6
|
+
NAMESPACE:[ja=https://ja.wikipedia.org/wiki/]
|
7
|
+
NAMESPACE;ALTID=1;PREFIX=en:https://en.wikipedia.org/wiki/
|
8
8
|
LOCALE:[=en:, ja=ja:, alias]
|
9
9
|
NAMES:[Locations]
|
10
10
|
|
data/test/examples/Terms.m17n
CHANGED
@@ -3,15 +3,15 @@ BEGIN:B:M17n
|
|
3
3
|
#
|
4
4
|
# You may use and/or modify this file according to the license
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
6
|
-
NAMESPACE:[en=
|
7
|
-
ja=
|
6
|
+
NAMESPACE:[en=https://en.wikipedia.org/wiki/,
|
7
|
+
ja=https://ja.wikipedia.org/wiki/]
|
8
8
|
LOCALE:[=en:, ja=ja:, alias]
|
9
9
|
NAMES:[Calendar=]
|
10
10
|
|
11
11
|
[Calendars_and_Eras=, 暦法と紀元=]
|
12
12
|
|
13
13
|
BEGIN:B:M17n
|
14
|
-
NAMES:[month name, 月の名前=ja
|
14
|
+
NAMES:[month name, 月の名前=ja:%%<月_(暦)>, *Month=]
|
15
15
|
B:M17N:[January, 1月]
|
16
16
|
B:M17N:[February, 2月]
|
17
17
|
B:M17N:[March, 3月]
|
data/test/scripts/8.ext.rb
CHANGED
@@ -23,9 +23,9 @@ p gregorian.translate('fr') #=> "Gregorian" (未定義でデフ
|
|
23
23
|
p gregorian/'ja' #=> "グレゴリオ暦"
|
24
24
|
p gregorian/'en' #=> "Gregorian"
|
25
25
|
p gregorian/'fr' #=> "Gregorian" (未定義でデフォルト使用)
|
26
|
-
p gregorian.reference('ja') #=> "
|
27
|
-
p gregorian.reference('en') #=> "
|
28
|
-
p gregorian.reference('fr') #=> "
|
26
|
+
p gregorian.reference('ja') #=> "https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6"
|
27
|
+
p gregorian.reference('en') #=> "https://en.wikipedia.org/wiki/Gregorian_calendar"
|
28
|
+
p gregorian.reference('fr') #=> "https://en.wikipedia.org/wiki/Gregorian_calendar" (未定義でデフォルト使用)
|
29
29
|
p 'Gregorian'.calendar.label.iri #=> "http://hosi.org/When/BasicTypes/M17n/Christian::Gregorian" (同じIRIのオブジェクト)
|
30
30
|
|
31
31
|
# * 一月
|
@@ -37,9 +37,9 @@ p january.translate('fr') #=> "janvier"
|
|
37
37
|
p january/'ja' #=> "1月"
|
38
38
|
p january/'en' #=> "January"
|
39
39
|
p january/'fr' #=> "janvier"
|
40
|
-
p january.reference('ja') #=> "
|
41
|
-
p january.reference('en') #=> "
|
42
|
-
p january.reference('fr') #=> "
|
40
|
+
p january.reference('ja') #=> "https://ja.wikipedia.org/wiki/1%E6%9C%88"
|
41
|
+
p january.reference('en') #=> "https://en.wikipedia.org/wiki/January"
|
42
|
+
p january.reference('fr') #=> "https://en.wikipedia.org/wiki/January" (未定義でデフォルト使用)
|
43
43
|
p '1月'.month_name.iri #=> "http://hosi.org/When/BasicTypes/M17n/Calendar::Month::January" (同じIRIのオブジェクト)
|
44
44
|
p 'Calendar::Month::January'.m17n.iri #=> "http://hosi.org/When/BasicTypes/M17n/Calendar::Month::January" (同じIRIのオブジェクト)
|
45
45
|
|
data/test/scripts/8.rb
CHANGED
@@ -24,9 +24,9 @@ p gregorian.translate('fr') #=> "Gregorian" (未定義でデフ
|
|
24
24
|
p gregorian/'ja' #=> "グレゴリオ暦"
|
25
25
|
p gregorian/'en' #=> "Gregorian"
|
26
26
|
p gregorian/'fr' #=> "Gregorian" (未定義でデフォルト使用)
|
27
|
-
p gregorian.reference('ja') #=> "
|
28
|
-
p gregorian.reference('en') #=> "
|
29
|
-
p gregorian.reference('fr') #=> "
|
27
|
+
p gregorian.reference('ja') #=> "https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC%E3%82%B4%E3%83%AA%E3%82%AA%E6%9A%A6"
|
28
|
+
p gregorian.reference('en') #=> "https://en.wikipedia.org/wiki/Gregorian_calendar"
|
29
|
+
p gregorian.reference('fr') #=> "https://en.wikipedia.org/wiki/Gregorian_calendar" (未定義でデフォルト使用)
|
30
30
|
p Calendar('Gregorian').label.iri #=> "http://hosi.org/When/BasicTypes/M17n/Christian::Gregorian" (同じIRIのオブジェクト)
|
31
31
|
|
32
32
|
# * 一月
|
@@ -38,9 +38,9 @@ p january.translate('fr') #=> "janvier"
|
|
38
38
|
p january/'ja' #=> "1月"
|
39
39
|
p january/'en' #=> "January"
|
40
40
|
p january/'fr' #=> "janvier"
|
41
|
-
p january.reference('ja') #=> "
|
42
|
-
p january.reference('en') #=> "
|
43
|
-
p january.reference('fr') #=> "
|
41
|
+
p january.reference('ja') #=> "https://ja.wikipedia.org/wiki/1%E6%9C%88"
|
42
|
+
p january.reference('en') #=> "https://en.wikipedia.org/wiki/January"
|
43
|
+
p january.reference('fr') #=> "https://en.wikipedia.org/wiki/January" (未定義でデフォルト使用)
|
44
44
|
p MonthName('1月').iri #=> "http://hosi.org/When/BasicTypes/M17n/Calendar::Month::January" (同じIRIのオブジェクト)
|
45
45
|
p M17n('Calendar::Month::January').iri #=> "http://hosi.org/When/BasicTypes/M17n/Calendar::Month::January" (同じIRIのオブジェクト)
|
46
46
|
|
@@ -1,41 +1,41 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
=begin
|
3
|
-
Copyright (C) 2011-2013 Takashi SUGA
|
4
|
-
|
5
|
-
You may use and/or modify this file according to the license
|
6
|
-
described in the LICENSE.txt file included in this archive.
|
7
|
-
=end
|
8
|
-
|
9
|
-
require 'pp'
|
10
|
-
require 'when_exe'
|
11
|
-
include When
|
12
|
-
|
13
|
-
range_null = Parts::GeometricComplex.new()
|
14
|
-
range_1_1 = Parts::GeometricComplex.new(1)
|
15
|
-
range_1_4 = Parts::GeometricComplex.new(1,4)
|
16
|
-
range_2_2 = Parts::GeometricComplex.new(2)
|
17
|
-
range_2_3 = Parts::GeometricComplex.new(2,3)
|
18
|
-
range_2_5 = Parts::GeometricComplex.new(2,5)
|
19
|
-
range_4_4 = Parts::GeometricComplex.new(4)
|
20
|
-
pp range_1_4
|
21
|
-
pp range_2_3
|
22
|
-
range_1_4.each {|x| pp x}
|
23
|
-
pp range_4_4
|
24
|
-
pp range_1_4 | range_2_3
|
25
|
-
pp range_1_4.include?(range_2_2)
|
26
|
-
pp range_1_4.include?(range_2_3)
|
27
|
-
range_1_5 = range_1_4 | range_2_5
|
28
|
-
pp range_1_5
|
29
|
-
pp range_1_4.include?(range_2_5)
|
30
|
-
pp range_1_4 | range_4_4
|
31
|
-
pp range_1_4.include?(range_4_4)
|
32
|
-
reverse_all = Parts::GeometricComplex.new(true)
|
33
|
-
reverse_1_4 = Parts::GeometricComplex.new(1,4, true)
|
34
|
-
reverse_2_3 = Parts::GeometricComplex.new(2,3, true)
|
35
|
-
reverse_2_5 = Parts::GeometricComplex.new(2,5, true)
|
36
|
-
pp reverse_all
|
37
|
-
pp reverse_1_4
|
38
|
-
pp reverse_2_3
|
39
|
-
pp reverse_2_3 | range_2_3
|
40
|
-
pp reverse_1_4 | range_2_5
|
41
|
-
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2011-2013 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
7
|
+
=end
|
8
|
+
|
9
|
+
require 'pp'
|
10
|
+
require 'when_exe'
|
11
|
+
include When
|
12
|
+
|
13
|
+
range_null = Parts::GeometricComplex.new()
|
14
|
+
range_1_1 = Parts::GeometricComplex.new(1)
|
15
|
+
range_1_4 = Parts::GeometricComplex.new(1,4)
|
16
|
+
range_2_2 = Parts::GeometricComplex.new(2)
|
17
|
+
range_2_3 = Parts::GeometricComplex.new(2,3)
|
18
|
+
range_2_5 = Parts::GeometricComplex.new(2,5)
|
19
|
+
range_4_4 = Parts::GeometricComplex.new(4)
|
20
|
+
pp range_1_4
|
21
|
+
pp range_2_3
|
22
|
+
range_1_4.each {|x| pp x}
|
23
|
+
pp range_4_4
|
24
|
+
pp range_1_4 | range_2_3
|
25
|
+
pp range_1_4.include?(range_2_2)
|
26
|
+
pp range_1_4.include?(range_2_3)
|
27
|
+
range_1_5 = range_1_4 | range_2_5
|
28
|
+
pp range_1_5
|
29
|
+
pp range_1_4.include?(range_2_5)
|
30
|
+
pp range_1_4 | range_4_4
|
31
|
+
pp range_1_4.include?(range_4_4)
|
32
|
+
reverse_all = Parts::GeometricComplex.new(true)
|
33
|
+
reverse_1_4 = Parts::GeometricComplex.new(1,4, true)
|
34
|
+
reverse_2_3 = Parts::GeometricComplex.new(2,3, true)
|
35
|
+
reverse_2_5 = Parts::GeometricComplex.new(2,5, true)
|
36
|
+
pp reverse_all
|
37
|
+
pp reverse_1_4
|
38
|
+
pp reverse_2_3
|
39
|
+
pp reverse_2_3 | range_2_3
|
40
|
+
pp reverse_1_4 | range_2_5
|
41
|
+
|
data/test/scripts/korea.rb
CHANGED
@@ -1,59 +1,59 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
=begin
|
3
|
-
Copyright (C) 2014 Takashi SUGA
|
4
|
-
|
5
|
-
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
|
-
=end
|
7
|
-
|
8
|
-
require 'when_exe'
|
9
|
-
require 'when_exe/region/chinese/calendars'
|
10
|
-
include When
|
11
|
-
|
12
|
-
class When::TM::CalendarEra
|
13
|
-
Korea = [self, [
|
14
|
-
'namespace:[en=
|
15
|
-
'locale:[=en:, ja=ja:, alias]',
|
16
|
-
'area:[Korea, 朝鮮]',
|
17
|
-
['[秦漢]1.01.01', '@CR', "1-01-01^Chinese_103"],
|
18
|
-
['[魏晋]239.01.01', '@CR', "239-01-01^Chinese0239"],
|
19
|
-
['[南朝]451.01.01', '@CR', "451-01-01^Chinese0445"],
|
20
|
-
['[隋唐]590.01.01', '@CR', "590-01-01^Chinese0523"],
|
21
|
-
['[宣明]893.01.01', '@CR', "893-01-01^ChineseTwin::宣明暦"],
|
22
|
-
['[大統]1309.01.01', '@CR', "1309-01-01^Chinese0939"],
|
23
|
-
['[時憲]1653.01.01', '@CR', "1653-01-01^Chinese1645"],
|
24
|
-
['[旧暦]1912.01.01', '@CR', "1912-01-01^ChineseLuniSolar?time_basis=+09:00"]
|
25
|
-
]]
|
26
|
-
end
|
27
|
-
|
28
|
-
R = {'10-'=>'0X-', '11-'=>'0N-', '12-'=>'0D-'}
|
29
|
-
|
30
|
-
def list_1st_day(range, calendar)
|
31
|
-
range.each do |year|
|
32
|
-
list = "%4d" % year
|
33
|
-
kdate = first = when?("Korea#{year}.1.1")
|
34
|
-
loop do
|
35
|
-
wdate = (calendar ^ kdate).to_s[-5..-1]
|
36
|
-
wdate.sub!(/1.-/) {|c| R[c]}
|
37
|
-
wdate.sub!(/^0/, '')
|
38
|
-
wdate.sub!('-', '+') if kdate.length(MONTH) == 30
|
39
|
-
list += (kdate[MONTH] * 0 == 0) ? " #{wdate} " : " (#{wdate})"
|
40
|
-
kdate += P1M
|
41
|
-
break unless year == kdate[YEAR]
|
42
|
-
end
|
43
|
-
puts list
|
44
|
-
=begin
|
45
|
-
list = " "
|
46
|
-
kdate = first
|
47
|
-
loop do
|
48
|
-
wdate = (Residue('干支') % kdate).label
|
49
|
-
list += (kdate[MONTH] * 0 == 0) ? " #{wdate} " : " (#{wdate})"
|
50
|
-
kdate += P1M
|
51
|
-
break unless year == kdate[YEAR]
|
52
|
-
end
|
53
|
-
puts list
|
54
|
-
=end
|
55
|
-
puts if year % 10 == 0
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
list_1st_day(1..1895, Civil)
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2014 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
|
+
=end
|
7
|
+
|
8
|
+
require 'when_exe'
|
9
|
+
require 'when_exe/region/chinese/calendars'
|
10
|
+
include When
|
11
|
+
|
12
|
+
class When::TM::CalendarEra
|
13
|
+
Korea = [self, [
|
14
|
+
'namespace:[en=https://en.wikipedia.org/wiki/, ja=https://ja.wikipedia.org/wiki/]',
|
15
|
+
'locale:[=en:, ja=ja:, alias]',
|
16
|
+
'area:[Korea, 朝鮮]',
|
17
|
+
['[秦漢]1.01.01', '@CR', "1-01-01^Chinese_103"],
|
18
|
+
['[魏晋]239.01.01', '@CR', "239-01-01^Chinese0239"],
|
19
|
+
['[南朝]451.01.01', '@CR', "451-01-01^Chinese0445"],
|
20
|
+
['[隋唐]590.01.01', '@CR', "590-01-01^Chinese0523"],
|
21
|
+
['[宣明]893.01.01', '@CR', "893-01-01^ChineseTwin::宣明暦"],
|
22
|
+
['[大統]1309.01.01', '@CR', "1309-01-01^Chinese0939"],
|
23
|
+
['[時憲]1653.01.01', '@CR', "1653-01-01^Chinese1645"],
|
24
|
+
['[旧暦]1912.01.01', '@CR', "1912-01-01^ChineseLuniSolar?time_basis=+09:00"]
|
25
|
+
]]
|
26
|
+
end
|
27
|
+
|
28
|
+
R = {'10-'=>'0X-', '11-'=>'0N-', '12-'=>'0D-'}
|
29
|
+
|
30
|
+
def list_1st_day(range, calendar)
|
31
|
+
range.each do |year|
|
32
|
+
list = "%4d" % year
|
33
|
+
kdate = first = when?("Korea#{year}.1.1")
|
34
|
+
loop do
|
35
|
+
wdate = (calendar ^ kdate).to_s[-5..-1]
|
36
|
+
wdate.sub!(/1.-/) {|c| R[c]}
|
37
|
+
wdate.sub!(/^0/, '')
|
38
|
+
wdate.sub!('-', '+') if kdate.length(MONTH) == 30
|
39
|
+
list += (kdate[MONTH] * 0 == 0) ? " #{wdate} " : " (#{wdate})"
|
40
|
+
kdate += P1M
|
41
|
+
break unless year == kdate[YEAR]
|
42
|
+
end
|
43
|
+
puts list
|
44
|
+
=begin
|
45
|
+
list = " "
|
46
|
+
kdate = first
|
47
|
+
loop do
|
48
|
+
wdate = (Residue('干支') % kdate).label
|
49
|
+
list += (kdate[MONTH] * 0 == 0) ? " #{wdate} " : " (#{wdate})"
|
50
|
+
kdate += P1M
|
51
|
+
break unless year == kdate[YEAR]
|
52
|
+
end
|
53
|
+
puts list
|
54
|
+
=end
|
55
|
+
puts if year % 10 == 0
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
list_1st_day(1..1895, Civil)
|
data/test/scripts/thai.rb
CHANGED
@@ -1,36 +1,36 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
=begin
|
3
|
-
Copyright (C) 2011-2014 Takashi SUGA
|
4
|
-
|
5
|
-
You may use and/or modify this file according to the license
|
6
|
-
described in the LICENSE.txt file included in this archive.
|
7
|
-
=end
|
8
|
-
|
9
|
-
require 'pp'
|
10
|
-
require 'when_exe'
|
11
|
-
include When
|
12
|
-
|
13
|
-
Type = {
|
14
|
-
354 => 'A',
|
15
|
-
355 => 'B',
|
16
|
-
384 => 'C'
|
17
|
-
}
|
18
|
-
|
19
|
-
Pattern = {}
|
20
|
-
|
21
|
-
open('scripts/thai-reviewed.txt', 'r') do |source|
|
22
|
-
this_year = nil
|
23
|
-
while (line=source.gets)
|
24
|
-
year, month, day = line.split(/ +/)[2..4].map {|c| c.to_i}
|
25
|
-
next_year = TemporalPosition(year, month, day, :frame=>Gregorian)
|
26
|
-
thai_year = TemporalPosition(year-638, 6, 1, :frame=>'ThaiT')
|
27
|
-
raise ArgumentError, "#{next_year} != #{Gregorian ^ thai_year}" unless next_year.to_i == thai_year.to_i
|
28
|
-
year -= 1
|
29
|
-
if this_year
|
30
|
-
type = Type[next_year.to_i-this_year.to_i]
|
31
|
-
Pattern[year] = type
|
32
|
-
puts "%04d,%04d,%s" % [year, year-638, type || '!']
|
33
|
-
end
|
34
|
-
this_year = next_year
|
35
|
-
end
|
36
|
-
end
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
=begin
|
3
|
+
Copyright (C) 2011-2014 Takashi SUGA
|
4
|
+
|
5
|
+
You may use and/or modify this file according to the license
|
6
|
+
described in the LICENSE.txt file included in this archive.
|
7
|
+
=end
|
8
|
+
|
9
|
+
require 'pp'
|
10
|
+
require 'when_exe'
|
11
|
+
include When
|
12
|
+
|
13
|
+
Type = {
|
14
|
+
354 => 'A',
|
15
|
+
355 => 'B',
|
16
|
+
384 => 'C'
|
17
|
+
}
|
18
|
+
|
19
|
+
Pattern = {}
|
20
|
+
|
21
|
+
open('scripts/thai-reviewed.txt', 'r') do |source|
|
22
|
+
this_year = nil
|
23
|
+
while (line=source.gets)
|
24
|
+
year, month, day = line.split(/ +/)[2..4].map {|c| c.to_i}
|
25
|
+
next_year = TemporalPosition(year, month, day, :frame=>Gregorian)
|
26
|
+
thai_year = TemporalPosition(year-638, 6, 1, :frame=>'ThaiT')
|
27
|
+
raise ArgumentError, "#{next_year} != #{Gregorian ^ thai_year}" unless next_year.to_i == thai_year.to_i
|
28
|
+
year -= 1
|
29
|
+
if this_year
|
30
|
+
type = Type[next_year.to_i-this_year.to_i]
|
31
|
+
Pattern[year] = type
|
32
|
+
puts "%04d,%04d,%s" % [year, year-638, type || '!']
|
33
|
+
end
|
34
|
+
this_year = next_year
|
35
|
+
end
|
36
|
+
end
|