ruby-japanize 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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"