ruby-japanize 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/Gemfile +13 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +1459 -0
  6. data/Rakefile +88 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/lib/japanize/base.rb +652 -0
  10. data/lib/japanize/container.rb +213 -0
  11. data/lib/japanize/core.rb +194 -0
  12. data/lib/japanize/enum.rb +127 -0
  13. data/lib/japanize/errors.rb +79 -0
  14. data/lib/japanize/globals.rb +109 -0
  15. data/lib/japanize/io.rb +388 -0
  16. data/lib/japanize/names.rb +213 -0
  17. data/lib/japanize/num.rb +319 -0
  18. data/lib/japanize/process.rb +318 -0
  19. data/lib/japanize/string.rb +257 -0
  20. data/lib/japanize/syntax.rb +805 -0
  21. data/lib/japanize/sys.rb +174 -0
  22. data/lib/japanize/test_unit.rb +99 -0
  23. data/lib/japanize/thread.rb +143 -0
  24. data/lib/japanize/time.rb +82 -0
  25. data/lib/japanize/version.rb +12 -0
  26. data/lib/japanize.rb +24 -0
  27. data/ruby-japanize.gemspec +41 -0
  28. data/sample/README.md +33 -0
  29. data/sample/dir.rb +15 -0
  30. data/sample/eval.rb +48 -0
  31. data/sample/export.rb +44 -0
  32. data/sample/fact.rb +17 -0
  33. data/sample/fib.rb +13 -0
  34. data/sample/freq.rb +17 -0
  35. data/sample/fullpath.rb +29 -0
  36. data/sample/less.rb +19 -0
  37. data/sample/list.rb +86 -0
  38. data/sample/list2.rb +22 -0
  39. data/sample/list3.rb +23 -0
  40. data/sample/mine.rb +204 -0
  41. data/sample/mkproto.rb +33 -0
  42. data/sample/mpart.rb +48 -0
  43. data/sample/occur.rb +17 -0
  44. data/sample/occur2.rb +17 -0
  45. data/sample/philos.rb +57 -0
  46. data/sample/pi.rb +20 -0
  47. data/sample/rcs.dat +17 -0
  48. data/sample/rcs.rb +45 -0
  49. data/sample/sieve.rb +17 -0
  50. data/sample/time.rb +14 -0
  51. data/sample/trojan.rb +18 -0
  52. data/sample/uumerge.rb +47 -0
  53. metadata +164 -0
@@ -0,0 +1,174 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'japanize/core'
4
+
5
+ 要求 'japanize/base'
6
+ 要求 'japanize/names'
7
+
8
+ 組(束縛) {
9
+ 別名 :評価, :eval
10
+ 別名 :対話操作を開始, :irb
11
+ 別名 :局所変数は定義済みか?, :local_variable_defined?
12
+ 別名 :局所変数を取得, :local_variable_get
13
+ 別名 :局所変数を設定, :local_variable_set
14
+ 別名 :局所変数の一覧, :local_variables
15
+ 別名 :受信先, :receiver
16
+ 別名 :元の場所, :source_location
17
+ }
18
+
19
+ 組(手続き型) {
20
+ 別名 :呼ぶ, :call
21
+ 別名 :委ねる, :yield
22
+ 別名 :項数, :arity
23
+ 別名 :束縛を取得, :binding
24
+ 別名 :カリー化, :curry
25
+ # 別名 :ハッシュ値, :hash # 物で定義済み
26
+ # 別名 :文字列に変換, :to_s # 物で定義済み
27
+ # 別名 :検査, :inspect # 物で定義済み
28
+ 別名 :λか?, :lambda?
29
+ 別名 :引数の一覧, :parameters
30
+ 別名 :元の場所, :source_location
31
+ }
32
+
33
+ 組(操作) {
34
+ # 別名 :等しいか?, :eql? # 物で定義済み
35
+ 別名 :呼ぶ, :call
36
+ 別名 :項数, :arity
37
+ # 別名 :複写, :clone # 物で定義済み
38
+ 別名 :カリー化, :curry
39
+ # 別名 :ハッシュ値, :hash # 物で定義済み
40
+ # 別名 :検査, :inspect # 物で定義済み
41
+ # 別名 :文字列に変換, :to_s # 物で定義済み
42
+ 別名 :名前, :name
43
+ 別名 :元の名前, :original_name
44
+ 別名 :所属, :owner
45
+ 別名 :引数の一覧, :parameters
46
+ 別名 :受信先, :receiver
47
+ 別名 :元の場所, :source_location
48
+ 別名 :原型の操作, :super_method
49
+ 別名 :未束縛の操作を取得, :unbind
50
+ }
51
+
52
+ 組(未束縛の操作) {
53
+ # 別名 :等しいか?, :eql? # 物で定義済み
54
+ 別名 :項数, :arity
55
+ 別名 :束縛, :bind
56
+ # 別名 :複写, :clone # 物で定義済み
57
+ # 別名 :ハッシュ値, :hash # 物で定義済み
58
+ # 別名 :検査, :inspect # 物で定義済み
59
+ # 別名 :文字列に変換, :to_s # 物で定義済み
60
+ 別名 :名前, :name
61
+ 別名 :元の名前, :original_name
62
+ 別名 :所属, :owner
63
+ 別名 :引数の一覧, :parameters
64
+ 別名 :元の場所, :source_location
65
+ 別名 :原型の操作, :super_method
66
+ }
67
+
68
+ 部(物の空間) {
69
+ 別名 :_識別番号から参照を取得, :_id2ref
70
+ 別名 :物を数える, :count_objects
71
+ 別名 :最終処理を定義, :define_finalizer
72
+ 別名 :物毎に, :each_object
73
+ 別名 :ゴミを集める, :garbage_collect
74
+ 別名 :最終処理を解除, :undefine_finalizer
75
+
76
+ 部の関数 :_識別番号から参照を取得,
77
+ :物を数える,
78
+ :最終処理を定義,
79
+ :物毎に,
80
+ :ゴミを集める,
81
+ :最終処理を解除
82
+
83
+ 組(弱参照の連想配列) {
84
+ 別名 :大きさ, :size
85
+ 別名 :長さ, :length
86
+ 別名 :キーの一覧, :keys
87
+ 別名 :値の一覧, :values
88
+ 別名 :キーか?, :key?
89
+ 別名 :含むか?, :include?
90
+ 別名 :一員か?, :member?
91
+ 別名 :キー毎に, :each_key
92
+ 別名 :値毎に, :each_value
93
+ 別名 :対毎に, :each_pair
94
+ # 別名 :検査, :inspect # 物で定義済み
95
+ }
96
+ }
97
+
98
+ 組(発生事象の追跡) {
99
+ 特異組{
100
+ 別名 :状態を取得, :stat
101
+ 別名 :追跡, :trace
102
+ }
103
+
104
+ 別名 :束縛を取得, :binding
105
+ 別名 :呼び出し先の識別子, :callee_id
106
+ 別名 :定義されている組, :defined_class
107
+ 別名 :無効にする, :disable
108
+ 別名 :有効にする, :enable
109
+ 別名 :有効か?, :enabled?
110
+ 別名 :事象, :event
111
+ # 別名 :検査, :inspect # 物で定義済み
112
+ 別名 :行番号, :lineno
113
+ 別名 :操作の識別子, :method_id
114
+ 別名 :ファイルへの経路, :path
115
+ 別名 :発生した例外, :raised_exception
116
+ 別名 :戻り値, :return_value
117
+ 別名 :参照を取得, :self
118
+ }
119
+
120
+ 部(ゴミ集め) {
121
+ 特異組{
122
+ 別名 :実行した回数, :count
123
+ 別名 :無効にする, :disable
124
+ 別名 :有効にする, :enable
125
+ 別名 :最新のゴミ集めの情報, :latest_gc_info
126
+ 別名 :開始, :start
127
+ 別名 :統計情報を取得, :stat
128
+ 別名 :頻繁に実施, :stress
129
+ 別名 :頻繁に実施=, :stress=
130
+ }
131
+
132
+ 別名 :ゴミを集める, :garbage_collect
133
+
134
+ 日本語の定数 :内部の定数の一覧, GC::INTERNAL_CONSTANTS
135
+ 日本語の定数 :既定の選択肢の一覧, GC::OPTS
136
+
137
+ 部(統計情報) {
138
+ 特異組{
139
+ 別名 :消去する, :clear
140
+ 別名 :無効にする, :disable
141
+ 別名 :有効にする, :enable
142
+ 別名 :有効か?, :enabled?
143
+ 別名 :集計前の情報, :raw_data
144
+ 別名 :報告する, :report
145
+ 別名 :結果, :result
146
+ 別名 :総計時間, :total_time
147
+ }
148
+ }
149
+
150
+ 日本語の定数を付加できること :内部の定数の一覧,
151
+ :既定の選択肢の一覧,
152
+ :統計情報
153
+ }
154
+
155
+ 部(直列化) {
156
+ 別名 :書き出す, :dump
157
+ 別名 :読み込む, :load
158
+ 別名 :復元する, :restore
159
+
160
+ 部の関数 :書き出す,
161
+ :読み込む,
162
+ :復元する
163
+
164
+ 日本語の定数 :主改訂版数, Marshal::MAJOR_VERSION
165
+ 日本語の定数 :副改訂版数, Marshal::MINOR_VERSION
166
+
167
+ 日本語の定数を付加できること :主改訂版数,
168
+ :副改訂版数
169
+ }
170
+
171
+ # Local Variables:
172
+ # mode: Ruby
173
+ # indent-tabs-mode: nil
174
+ # End:
@@ -0,0 +1,99 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'japanize/core'
4
+
5
+ 要求 'test/unit'
6
+
7
+ 部(日本語化) {
8
+ 日本語の定数 :試験単位, Test::Unit
9
+
10
+ 部(試験単位) {
11
+ 特異組{
12
+ 別名 :終了時に実行, :at_exit
13
+ 別名 :開始時に実行, :at_start
14
+ }
15
+
16
+ 日本語の定数 :確認手段, Test::Unit::Assertions
17
+
18
+ 部(確認手段) {
19
+ 特異組{
20
+ 別名 :目視点検を使う=, :use_pp=
21
+ }
22
+
23
+ 別名 :確認, :assert
24
+ 別名 :別名であることを確認, :assert_alias_method
25
+ 別名 :手続きで確認, :assert_block
26
+ 別名 :真偽値であることを確認, :assert_boolean
27
+ 別名 :比較して確認, :assert_compare
28
+ 別名 :定数が定義済みであることを確認, :assert_const_defined
29
+ 別名 :空であることを確認, :assert_empty
30
+ 別名 :等しいことを確認, :assert_equal
31
+ 別名 :確認が失敗することを確認, :assert_fail_assertion
32
+ 別名 :偽値であることを確認, :assert_false
33
+ 別名 :誤差の範囲で等しいことを確認, :assert_in_delta
34
+ 別名 :含まれることを確認, :assert_include
35
+ 別名 :生成物であることを確認, :assert_instance_of
36
+ 別名 :一種であることを確認, :assert_kind_of
37
+ 別名 :一致することを確認, :assert_match
38
+ 別名 :無値であることを確認, :assert_nil
39
+ 別名 :定数が未定義であることを確認, :assert_not_const_defined
40
+ 別名 :空ではないことを確認, :assert_not_empty
41
+ 別名 :等しくないことを確認, :assert_not_equal
42
+ 別名 :誤差の範囲で等しくないことを確認, :assert_not_in_delta
43
+ 別名 :含まれないことを確認, :assert_not_include
44
+ 別名 :生成物ではないことを確認, :assert_not_instance_of
45
+ 別名 :一種ではないことを確認, :assert_not_kind_of
46
+ 別名 :一致しないことを確認, :assert_not_match
47
+ 別名 :無値ではないことを確認, :assert_not_nil
48
+ 別名 :演算が成立しないことを確認, :assert_not_operator
49
+ 別名 :状態が成立しないことを確認, :assert_not_predicate
50
+ 別名 :応答しないことを確認, :assert_not_respond_to
51
+ 別名 :同一ではないことを確認, :assert_not_same
52
+ 別名 :送付した結果が成立しないことを確認, :assert_not_send
53
+ 別名 :例外が発生しないことを確認, :assert_nothing_raised
54
+ 別名 :脱出しないことを確認, :assert_nothing_thrown
55
+ 別名 :演算して確認, :assert_operator
56
+ 別名 :ファイルが存在することを確認, :assert_path_exist
57
+ 別名 :ファイルが存在しないことを確認, :assert_path_not_exist
58
+ 別名 :状態を確認, :assert_predicate
59
+ 別名 :例外が発生することを確認, :assert_raise
60
+ 別名 :例外の一種が発生することを確認, :assert_raise_kind_of
61
+ 別名 :発生した例外の伝文を確認, :assert_raise_message
62
+ 別名 :応答することを確認, :assert_respond_to
63
+ 別名 :同一であることを確認, :assert_same
64
+ 別名 :送信して確認, :assert_send
65
+ 別名 :脱出することを確認, :assert_throw
66
+ 別名 :真値であることを確認, :assert_true
67
+ 別名 :失敗させる, :flunk
68
+ }
69
+
70
+ 組(:試験事例, 原型: Test::Unit::TestCase) {
71
+ 特異組{
72
+ 別名 :資料, :data
73
+ 別名 :試験, :test
74
+ 別名 :説明, :description
75
+ 別名 :細分化した試験事例, :sub_test_case
76
+ 別名 :試験は定義済みか?, :test_defined?
77
+ 別名 :試験の順番, :test_order
78
+ 別名 :試験の順番=, :test_order=
79
+
80
+ 定義(:startup) { 起動 }
81
+ 定義(:shutdown) { 停止 }
82
+ 定義(:起動) {}
83
+ 定義(:停止) {}
84
+ }
85
+
86
+ 別名 :資料, :data
87
+
88
+ 定義(:setup) { 準備 }
89
+ 定義(:teardown) { 破棄 }
90
+ 定義(:準備) {}
91
+ 定義(:破棄) {}
92
+ }
93
+ }
94
+ }
95
+
96
+ # Local Variables:
97
+ # mode: Ruby
98
+ # indent-tabs-mode: nil
99
+ # End:
@@ -0,0 +1,143 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'japanize/core'
4
+
5
+ 要求 'japanize/base'
6
+ 要求 'japanize/names'
7
+
8
+ 組(ファイバー) {
9
+ 特異組{
10
+ 別名 :委ねる, :yield
11
+ }
12
+
13
+ 別名 :続ける, :resume
14
+
15
+ # fiberライブラリのための定義
16
+ # fiberライブラリが配置されるまで未定義なので別名にしない。
17
+ 特異操作の定義(:実行中) { current }
18
+ 定義(:存続しているか?) { alive? }
19
+ 定義(:切り替える) {|*引数, &塊| transfer(*引数, &塊) }
20
+ }
21
+
22
+ 組(スレッド) {
23
+ 特異組{
24
+ 定義(:点検中) { 自分.DEBUG } # 通常は未定義なので別名にしない
25
+ 定義(:点検中=) {|値| 自分.DEBUG=(値) } # 通常は未定義なので別名にしない
26
+ 別名 :例外が発生したら中断, :abort_on_exception
27
+ 別名 :例外が発生したら中断=, :abort_on_exception=
28
+ 別名 :実行中, :current
29
+ 別名 :排他, :exclusive
30
+ 別名 :終了, :exit
31
+ 別名 :開始, :start
32
+ 別名 :分岐, :fork
33
+ 別名 :割り込みを制御する, :handle_interrupt
34
+ 別名 :終了させる, :kill
35
+ 別名 :一覧, :list
36
+ 別名 :本線, :main
37
+ 別名 :譲る, :pass
38
+ 別名 :割り込みが猶予されているか?, :pending_interrupt?
39
+ 別名 :例外が発生したら報告, :report_on_exception
40
+ 別名 :例外が発生したら報告=, :report_on_exception=
41
+ 別名 :停止, :stop
42
+ }
43
+
44
+ 別名 :例外が発生したら中断, :abort_on_exception
45
+ 別名 :例外が発生したら中断=, :abort_on_exception=
46
+ 別名 :追跡関数を追加, :add_trace_func
47
+ 別名 :存続しているか?, :alive?
48
+ 別名 :呼び出し履歴, :backtrace
49
+ 別名 :呼び出し履歴の場所の一覧, :backtrace_locations
50
+ 別名 :終了, :exit
51
+ 別名 :終了させる, :kill
52
+ 別名 :取得, :fetch
53
+ 別名 :所属する群れ, :group
54
+ # 別名 :検査, :inspect # 物で定義済み
55
+ # 別名 :文字列に変換, :to_s # 物で定義済み
56
+ 別名 :合流, :join
57
+ 別名 :キーか?, :key?
58
+ 別名 :キーの一覧, :keys
59
+ 別名 :名前, :name
60
+ 別名 :名前=, :name=
61
+ 別名 :割り込みが猶予されているか?, :pending_interrupt?
62
+ 別名 :優先度, :priority
63
+ 別名 :例外を発生, :raise
64
+ 別名 :例外が発生したら報告, :report_on_exception
65
+ 別名 :例外が発生したら報告=, :report_on_exception=
66
+ 別名 :再開, :run
67
+ 別名 :安全度, :safe_level
68
+ 別名 :追跡関数を設定, :set_trace_func
69
+ 別名 :状態, :status
70
+ 別名 :停止しているか?, :stop?
71
+ 別名 :スレッド変数は存在するか?, :thread_variable?
72
+ 別名 :スレッド変数を取得, :thread_variable_get
73
+ 別名 :スレッド変数を設定, :thread_variable_set
74
+ 別名 :結果, :value
75
+ 別名 :休止を解除, :wakeup
76
+
77
+ 組(呼び出し履歴::場所) {
78
+ 別名 :ファイルへの絶対的な経路, :absolute_path
79
+ 別名 :素の名前, :base_label
80
+ # 別名 :検査, :inspect # 物で定義済み
81
+ 別名 :表札, :label
82
+ 別名 :行番号, :lineno
83
+ 別名 :ファイルへの経路, :path
84
+ # 別名 :文字列に変換, :to_s # 物で定義済み
85
+ }
86
+
87
+ 組(相互排他制御) {
88
+ 別名 :獲得, :lock
89
+ 別名 :獲得されているか?, :locked?
90
+ 別名 :所有しているか?, :owned?
91
+ 別名 :休止, :sleep
92
+ 別名 :同期させる, :synchronize
93
+ 別名 :可能なら獲得, :try_lock
94
+ 別名 :解放, :unlock
95
+ }
96
+
97
+ 組(条件変数) {
98
+ 別名 :全員に通知, :broadcast
99
+ 別名 :通知, :signal
100
+ 別名 :待機, :wait
101
+ }
102
+
103
+ 組(待ち行列) {
104
+ 別名 :付け足す, :push
105
+ 別名 :消去する, :clear
106
+ 別名 :閉じる, :close
107
+ 別名 :閉じたか?, :closed?
108
+ 別名 :取り出す, :pop
109
+ 別名 :先頭から取り出す, :shift
110
+ 別名 :空か?, :empty?
111
+ 別名 :長さ, :length
112
+ 別名 :大きさ, :size
113
+ 別名 :待機スレッド数, :num_waiting
114
+ }
115
+
116
+ 組(上限付き待ち行列) {
117
+ 別名 :付け足す, :push
118
+ 別名 :消去する, :clear
119
+ 別名 :閉じる, :close
120
+ 別名 :取り出す, :pop
121
+ 別名 :先頭から取り出す, :shift
122
+ 別名 :空か?, :empty?
123
+ 別名 :長さ, :length
124
+ 別名 :大きさ, :size
125
+ 別名 :最大待ち受け数, :max
126
+ 別名 :最大待ち受け数=, :max=
127
+ 別名 :待機スレッド数, :num_waiting
128
+ }
129
+ }
130
+
131
+ 組(スレッドの群れ) {
132
+ 別名 :追加, :add
133
+ 別名 :締め切る, :enclose
134
+ 別名 :締め切られたか?, :enclosed?
135
+ 別名 :一覧, :list
136
+
137
+ 日本語の定数 :既定の群れ, ThreadGroup::Default
138
+ }
139
+
140
+ # Local Variables:
141
+ # mode: Ruby
142
+ # indent-tabs-mode: nil
143
+ # End:
@@ -0,0 +1,82 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'japanize/core'
4
+
5
+ 要求 'japanize/base'
6
+ 要求 'japanize/names'
7
+
8
+ 組(時刻) {
9
+ 特異組{
10
+ 別名 :この時, :at
11
+ 別名 :グリニッジ標準時, :gm
12
+ 別名 :協定世界時, :utc
13
+ 別名 :地方時, :local
14
+ 別名 :地方標準時, :local
15
+ 別名 :作成, :mktime
16
+ 別名 :現在, :now
17
+ }
18
+
19
+ 別名 :アスキー形式に変換, :asctime
20
+ 別名 :日, :day
21
+ 別名 :夏時間か?, :dst?
22
+ # 別名 :等しいか?, :eql? # 物で定義済み
23
+ 別名 :金曜日か?, :friday?
24
+ 別名 :グリニッジ標準時を取得, :getgm
25
+ 別名 :協定世界時を取得, :getutc
26
+ 別名 :地方時を取得, :getlocal
27
+ 別名 :地方標準時を取得, :getlocal
28
+ 別名 :グリニッジ標準時か?, :gmt?
29
+ 別名 :協定世界時か?, :utc?
30
+ 別名 :グリニッジ標準時との時差, :gmt_offset
31
+ 別名 :協定世界時との時差, :utc_offset
32
+ 別名 :グリニッジ標準時に変更, :gmtime
33
+ 別名 :協定世界時に変更, :utc
34
+ # 別名 :ハッシュ値, :hash # 物で定義済み
35
+ 別名 :時, :hour
36
+ 別名 :地方時に変更, :localtime
37
+ 別名 :地方標準時に変更, :localtime
38
+ 別名 :分, :min
39
+ 別名 :月, :mon
40
+ 別名 :月曜日か?, :monday?
41
+ 別名 :ナノ秒, :nsec
42
+ 別名 :端数を丸める, :round
43
+ 別名 :土曜日か?, :saturday?
44
+ 別名 :秒, :sec
45
+ 別名 :文字列に整形, :strftime
46
+ 別名 :一秒未満の時刻, :subsec
47
+ 別名 :一つ後, :succ
48
+ 別名 :日曜日か?, :sunday?
49
+ 別名 :木曜日か?, :thursday?
50
+ 別名 :配列に変換, :to_a
51
+ 別名 :浮動小数点に変換, :to_f
52
+ 別名 :整数に変換, :to_i
53
+ 別名 :起算時からの経過秒数, :tv_sec
54
+ 別名 :有理数に変換, :to_r
55
+ # 別名 :文字列に変換, :to_s # 物で定義済み
56
+ 別名 :火曜日か?, :tuesday?
57
+ 別名 :マイクロ秒, :usec
58
+ 別名 :μ秒, :usec
59
+ 別名 :曜日, :wday
60
+ 別名 :水曜日か?, :wednesday?
61
+ 別名 :年間の通算日, :yday
62
+ 別名 :年, :year
63
+ 別名 :時間帯, :zone
64
+
65
+ # timeライブラリのための定義
66
+ # timeライブラリが配置されるまで未定義なので別名にしない。
67
+ 特異操作の定義(:HTTP日付の形式) {|*引数, &塊| httpdate(*引数, &塊) }
68
+ 特異操作の定義(:国際標準の形式) {|*引数, &塊| iso8601(*引数, &塊) }
69
+ 特異操作の定義(:XMLスキーマの形式) {|*引数, &塊| xmlschema(*引数, &塊) }
70
+ 特異操作の定義(:書式を解析) {|*引数, &塊| parse(*引数, &塊) }
71
+ 特異操作の定義(:電子メールの付加情報の形式) {|*引数, &塊| rfc2822(*引数, &塊) }
72
+ 特異操作の定義(:書式を指定して解析) {|*引数, &塊| strptime(*引数, &塊) }
73
+ 定義(:HTTP日付の形式) {|*引数, &塊| httpdate(*引数, &塊) }
74
+ 定義(:国際標準の形式) {|*引数, &塊| iso8601(*引数, &塊) }
75
+ 定義(:XMLスキーマの形式) {|*引数, &塊| xmlschema(*引数, &塊) }
76
+ 定義(:電子メールの付加情報の形式) {|*引数, &塊| rfc2822(*引数, &塊) }
77
+ }
78
+
79
+ # Local Variables:
80
+ # mode: Ruby
81
+ # indent-tabs-mode: nil
82
+ # End:
@@ -0,0 +1,12 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ module JA
4
+ VERSION = '0.1.0'
5
+ end
6
+
7
+ Japanize = JA unless (defined? Japanize)
8
+
9
+ # Local Variables:
10
+ # mode: Ruby
11
+ # indent-tabs-mode: nil
12
+ # End:
data/lib/japanize.rb ADDED
@@ -0,0 +1,24 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'japanize/core'
4
+
5
+ 要求 'japanize/base'
6
+ 要求 'japanize/container'
7
+ 要求 'japanize/enum'
8
+ 要求 'japanize/errors'
9
+ 要求 'japanize/globals'
10
+ 要求 'japanize/io'
11
+ 要求 'japanize/names'
12
+ 要求 'japanize/num'
13
+ 要求 'japanize/process'
14
+ 要求 'japanize/string'
15
+ 要求 'japanize/syntax'
16
+ 要求 'japanize/sys'
17
+ 要求 'japanize/thread'
18
+ 要求 'japanize/time'
19
+ 要求 'japanize/version'
20
+
21
+ # Local Variables:
22
+ # mode: Ruby
23
+ # indent-tabs-mode: nil
24
+ # End:
@@ -0,0 +1,41 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'japanize/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'ruby-japanize'
9
+ spec.version = Japanize::VERSION
10
+ spec.authors = ['TOKI Yoshinori']
11
+ spec.email = ['toki@freedom.ne.jp']
12
+
13
+ spec.summary = %q{Rubyを日本語化する}
14
+ spec.description = <<-'EOF'
15
+ 日本語の別名や構文を定義してRubyを日本語で書けるようにする。
16
+ EOF
17
+ spec.homepage = 'https://github.com/y10k/ruby-japanize'
18
+ spec.license = 'MIT'
19
+
20
+ # Specify which files should be added to the gem when it is released.
21
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
+ spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
23
+ `git ls-files -z`.split("\x0").reject {|f| f.match(%r{^(test|spec|features)/}) }
24
+ end
25
+ spec.bindir = 'exe'
26
+ spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
27
+ spec.require_paths = ['lib']
28
+
29
+ spec.required_ruby_version = '>= 2.6'
30
+
31
+ spec.add_development_dependency 'bundler', '~> 1.17'
32
+ spec.add_development_dependency 'rake', '~> 10.0'
33
+ spec.add_development_dependency 'test-unit'
34
+ spec.add_development_dependency 'rdoc'
35
+ spec.add_development_dependency 'irb'
36
+ end
37
+
38
+ # Local Variables:
39
+ # mode: Ruby
40
+ # indent-tabs-mode: nil
41
+ # End:
data/sample/README.md ADDED
@@ -0,0 +1,33 @@
1
+ Rubyのサンプルの日本語化
2
+ ========================
3
+
4
+ Rubyの[ソースコード](https://github.com/ruby/ruby)に含まれる[サンプ
5
+ ル](https://github.com/ruby/ruby/tree/master/sample)を日本語化したもの
6
+ です。
7
+
8
+ 日本語化したサンプルの一覧
9
+ --------------------------
10
+
11
+ - `dir.rb` : ディレクトリの読み出し (directory access)
12
+ - `eval.rb` : 簡単な評価器 (simple evaluator)
13
+ - `export.rb` : メソッドの可視性の例 (method access example)
14
+ - `fact.rb` : 階乗の計算 (factorial calculator)
15
+ - `fib.rb` : フィボナッチ数 (Fibonacci number)
16
+ - `freq.rb` : 単語の出現回数を数える (count word occurrence)
17
+ - `fullpath.rb` : ls -lRを完全なパスの形式に変換 (convert ls -lR to fullpath format)
18
+ - `less.rb` : lessの仲介 (front end for less)
19
+ - `list.rb` : 物の愚直な実装の例 (stupid object sample)
20
+ - `list2.rb` : 物の愚直な実装の例 (stupid object sample)
21
+ - `list3.rb` : 物の愚直な実装の例 (stupid object sample)
22
+ - `mine.rb` : 簡単な地雷処理ゲーム (simple mine sweeper)
23
+ - `mkproto.rb` : C言語のソースコードからプロトタイプ宣言を抽出する (extract prototype from C)
24
+ - `mpart.rb` : ファイルを複数に分割する (split file into multi part)
25
+ - `occur.rb` : 単語の出現回数を数える (count word occurrence)
26
+ - `occur2.rb` : 単語の出現回数を数える (count word occurrence)
27
+ - `philos.rb` : 有名な食事する哲学者の問題 (famous dining philosophers)
28
+ - `pi.rb` : 円周率の計算 (calculate PI)
29
+ - `rcs.rb` : ばらばらな文字で描く立体画像 (random character stereogram)
30
+ - `sieve.rb` : エラストテネスの篩 (sieve of Eratosthenes)
31
+ - `time.rb` : /usr/bin/timeの模倣 (/usr/bin/time clone)
32
+ - `trojan.rb` : トロイの木馬かもしれないファイルを見つける簡単な道具。 (simple tool to find file that may be trojan horse.)
33
+ - `uumerge.rb` : 複数のファイルを合わせてuudecodeする (merge files and uudecode them)
data/sample/dir.rb ADDED
@@ -0,0 +1,15 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'japanize'
4
+
5
+ あるディレクトリ = ディレクトリ.開く(".")
6
+ あるディレクトリ.個別に{|あるファイル|
7
+ この値が{
8
+ あるファイル
9
+ }.もし{ /\A\./ }.か{ /~\z/ }.か{ /\\.o/ }.であるなら{
10
+ # 何も出力しない
11
+ }.でなければ{
12
+ 印字 あるファイル, "\n"
13
+ }.である
14
+ }
15
+ あるディレクトリ.閉じる
data/sample/eval.rb ADDED
@@ -0,0 +1,48 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'japanize'
4
+
5
+ 行 = ''
6
+ 字下げ = 0
7
+ 標準出力.同期 = 真値
8
+ 印字 "ruby> "
9
+ 循環{|制御|
10
+ 入力行 = 行を取得
11
+ もし条件が{ 入力行.無値か? }.であるなら{
12
+ もし条件が{ 行.空か? }.であるなら{ 制御.終わる }.である
13
+ }.でなければ{
14
+ 行 += 入力行
15
+ もし条件が{ 入力行 =~ /,\s*$/ }.であるなら{
16
+ 印字 "ruby| "
17
+ 制御.次へ進む
18
+ }.である
19
+ もし条件が{ 入力行 =~ /^\s*(class|module|def|if|unless|case|while|until|for|begin)\b[^_]/ }.であるなら{
20
+ 字下げ += 1
21
+ }.である
22
+ もし条件が{ 入力行 =~ /^\s*end\b[^_]/ }.であるなら{
23
+ 字下げ -= 1
24
+ }.である
25
+ もし条件が{ 入力行 =~ /\{\s*(\|.*\|)?\s*$/ }.であるなら{
26
+ 字下げ += 1
27
+ }.である
28
+ もし条件が{ 入力行 =~ /^\s*\}/ }.であるなら{
29
+ 字下げ -= 1
30
+ }.である
31
+ もし条件が{ 字下げ > 0 }.であるなら{
32
+ 印字 "ruby| "
33
+ 制御.次へ進む
34
+ }.である
35
+ }.である
36
+ 領域{|制御|
37
+ 制御.本処理{
38
+ 印字 評価(行).検査, "\n"
39
+ }
40
+ 制御.例外を捕捉(スクリプトの失敗, 標準的な失敗) {|ある例外|
41
+ 整形して印字 "失敗: %s\n", ある例外 || '例外が発生した'
42
+ }
43
+ }
44
+ もし条件が{ 入力行.無値か? }.であるなら{ 制御.終わる }.である
45
+ 行 = ''
46
+ 印字 "ruby> "
47
+ }
48
+ 印字 "\n"