ruby-japanize 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -138,6 +138,7 @@ require 'japanize/core'
138
138
  別名 :小文字にする, :downcase
139
139
  別名 :空か?, :empty?
140
140
  別名 :文字符号化方式, :encoding
141
+ 別名 :末尾が一致するか?, :end_with? if (公開された操作は定義済みか? :end_with?, 偽値)
141
142
  別名 :識別番号を名前に変換, :id2name
142
143
  # 別名 :文字列に変換, :to_s # 物で定義済み
143
144
  # 別名 :検査, :inspect # 物で定義済み
@@ -145,6 +146,7 @@ require 'japanize/core'
145
146
  別名 :記号に変換, :to_sym
146
147
  別名 :長さ, :length
147
148
  別名 :大きさ, :size
149
+ 別名 :先頭が一致するか?, :start_with? if (公開された操作は定義済みか? :start_with?, 偽値)
148
150
  別名 :一致, :match
149
151
  別名 :一致するか?, :match?
150
152
  別名 :一つ後, :succ
data/lib/japanize/sys.rb CHANGED
@@ -13,21 +13,22 @@ require 'japanize/core'
13
13
  別名 :局所変数を設定, :local_variable_set
14
14
  別名 :局所変数の一覧, :local_variables
15
15
  別名 :受信先, :receiver
16
- 別名 :元の場所, :source_location
16
+ 別名 :定義された場所, :source_location
17
17
  }
18
18
 
19
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
20
+ 別名 :呼ぶ, :call
21
+ 別名 :委ねる, :yield
22
+ 別名 :項数, :arity
23
+ 別名 :束縛を取得, :binding
24
+ 別名 :カリー化, :curry
25
+ # 別名 :ハッシュ値, :hash # 物で定義済み
26
+ # 別名 :文字列に変換, :to_s # 物で定義済み
27
+ # 別名 :検査, :inspect # 物で定義済み
28
+ 別名 :λか?, :lambda?
29
+ 別名 :引数の一覧, :parameters
30
+ 別名 :ruby2互換の名前付き引数, :ruby2_keywords if (公開された操作は定義済みか? :ruby2_keywords, 偽値)
31
+ 別名 :定義された場所, :source_location
31
32
  }
32
33
 
33
34
  組(操作) {
@@ -44,7 +45,7 @@ require 'japanize/core'
44
45
  別名 :所属, :owner
45
46
  別名 :引数の一覧, :parameters
46
47
  別名 :受信先, :receiver
47
- 別名 :元の場所, :source_location
48
+ 別名 :定義された場所, :source_location
48
49
  別名 :原型の操作, :super_method
49
50
  別名 :未束縛の操作を取得, :unbind
50
51
  }
@@ -53,6 +54,7 @@ require 'japanize/core'
53
54
  # 別名 :等しいか?, :eql? # 物で定義済み
54
55
  別名 :項数, :arity
55
56
  別名 :束縛, :bind
57
+ 別名 :束縛して呼ぶ, :bind_call if (公開された操作は定義済みか? :bind_call, 偽値)
56
58
  # 別名 :複写, :clone # 物で定義済み
57
59
  # 別名 :ハッシュ値, :hash # 物で定義済み
58
60
  # 別名 :検査, :inspect # 物で定義済み
@@ -61,7 +63,7 @@ require 'japanize/core'
61
63
  別名 :元の名前, :original_name
62
64
  別名 :所属, :owner
63
65
  別名 :引数の一覧, :parameters
64
- 別名 :元の場所, :source_location
66
+ 別名 :定義された場所, :source_location
65
67
  別名 :原型の操作, :super_method
66
68
  }
67
69
 
@@ -123,6 +125,7 @@ require 'japanize/core'
123
125
 
124
126
  部(ゴミ集め) {
125
127
  特異組{
128
+ 別名 :圧搾, :compact if (公開された操作は定義済みか? :compact, 偽値)
126
129
  別名 :実行した回数, :count
127
130
  別名 :無効にする, :disable
128
131
  別名 :有効にする, :enable
@@ -131,6 +134,7 @@ require 'japanize/core'
131
134
  別名 :統計情報を取得, :stat
132
135
  別名 :頻繁に実施, :stress
133
136
  別名 :頻繁に実施=, :stress=
137
+ 別名 :圧搾した物への参照を検証する, :verify_compaction_references if (公開された操作は定義済みか? :verify_compaction_references, 偽値)
134
138
  別名 :内部の一貫性を検証する, :verify_internal_consistency
135
139
  別名 :一時的なヒープ領域の内部の一貫性を検証する, :verify_transient_heap_internal_consistency
136
140
  }
@@ -10,17 +10,14 @@ require 'japanize/core'
10
10
  別名 :委ねる, :yield
11
11
  }
12
12
 
13
- 別名 :続ける, :resume
13
+ 別名 :例外を発生, :raise if (公開された操作は定義済みか? :raise, 偽値)
14
+ 別名 :続ける, :resume
14
15
 
15
16
  # fiberライブラリのための定義
16
17
  # fiberライブラリが配置されるまで未定義なので別名にしない。
17
18
  特異操作の定義(:実行中) { current }
18
19
  定義(:存続しているか?) { alive? }
19
- if (_バージョンが2_7以上か?) then
20
- 定義(:切り替える) {|*引数, **名前付き引数, &塊| transfer(*引数, **名前付き引数, &塊) }
21
- else
22
- 定義(:切り替える) {|*引数, &塊| transfer(*引数, &塊) }
23
- end
20
+ `定義 切り替える(...); transfer(...)`
24
21
  }
25
22
 
26
23
  組(スレッド) {
data/lib/japanize/time.rb CHANGED
@@ -17,9 +17,11 @@ require 'japanize/core'
17
17
  }
18
18
 
19
19
  別名 :アスキー形式に変換, :asctime
20
+ 別名 :切り上げ, :ceil if (公開された操作は定義済みか? :ceil, 偽値)
20
21
  別名 :日, :day
21
22
  別名 :夏時間か?, :dst?
22
23
  # 別名 :等しいか?, :eql? # 物で定義済み
24
+ 別名 :切り下げ, :floor if (公開された操作は定義済みか? :floor, 偽値)
23
25
  別名 :金曜日か?, :friday?
24
26
  別名 :グリニッジ標準時を取得, :getgm
25
27
  別名 :協定世界時を取得, :getutc
@@ -64,32 +66,18 @@ require 'japanize/core'
64
66
 
65
67
  # timeライブラリのための定義
66
68
  # timeライブラリが配置されるまで未定義なので別名にしない。
67
- if (_バージョンが2_7以上か?) then
68
- 特異操作の定義(:HTTP日付の形式) {|*引数, **名前付き引数, &塊| httpdate(*引数, **名前付き引数, &塊) }
69
- 特異操作の定義(:国際標準の形式) {|*引数, **名前付き引数, &塊| iso8601(*引数, **名前付き引数, &塊) }
70
- 特異操作の定義(:XMLスキーマの形式) {|*引数, **名前付き引数, &塊| xmlschema(*引数, **名前付き引数, &塊) }
71
- 特異操作の定義(:書式を解析) {|*引数, **名前付き引数, &塊| parse(*引数, **名前付き引数, &塊) }
72
- 特異操作の定義(:電子メールの付加情報の形式) {|*引数, **名前付き引数, &塊| rfc2822(*引数, **名前付き引数, &塊) }
73
- 特異操作の定義(:書式を指定して解析) {|*引数, **名前付き引数, &塊| strptime(*引数, **名前付き引数, &塊) }
74
- else
75
- 特異操作の定義(:HTTP日付の形式) {|*引数, &塊| httpdate(*引数, &塊) }
76
- 特異操作の定義(:国際標準の形式) {|*引数, &塊| iso8601(*引数, &塊) }
77
- 特異操作の定義(:XMLスキーマの形式) {|*引数, &塊| xmlschema(*引数, &塊) }
78
- 特異操作の定義(:書式を解析) {|*引数, &塊| parse(*引数, &塊) }
79
- 特異操作の定義(:電子メールの付加情報の形式) {|*引数, &塊| rfc2822(*引数, &塊) }
80
- 特異操作の定義(:書式を指定して解析) {|*引数, &塊| strptime(*引数, &塊) }
81
- end
82
- if (_バージョンが2_7以上か?) then
83
- 定義(:HTTP日付の形式) {|*引数, **名前付き引数, &塊| httpdate(*引数, **名前付き引数, &塊) }
84
- 定義(:国際標準の形式) {|*引数, **名前付き引数, &塊| iso8601(*引数, **名前付き引数, &塊) }
85
- 定義(:XMLスキーマの形式) {|*引数, **名前付き引数, &塊| xmlschema(*引数, **名前付き引数, &塊) }
86
- 定義(:電子メールの付加情報の形式) {|*引数, **名前付き引数, &塊| rfc2822(*引数, **名前付き引数, &塊) }
87
- else
88
- 定義(:HTTP日付の形式) {|*引数, &塊| httpdate(*引数, &塊) }
89
- 定義(:国際標準の形式) {|*引数, &塊| iso8601(*引数, &塊) }
90
- 定義(:XMLスキーマの形式) {|*引数, &塊| xmlschema(*引数, &塊) }
91
- 定義(:電子メールの付加情報の形式) {|*引数, &塊| rfc2822(*引数, &塊) }
92
- end
69
+ 特異組{
70
+ `定義 HTTP日付の形式(...); httpdate(...)`
71
+ `定義 国際標準の形式(...); iso8601(...)`
72
+ `定義 XMLスキーマの形式(...); xmlschema(...)`
73
+ `定義 書式を解析(...); parse(...)`
74
+ `定義 電子メールの付加情報の形式(...); rfc2822(...)`
75
+ `定義 書式を指定して解析(...); strptime(...)`
76
+ }
77
+ `定義 HTTP日付の形式(...); httpdate(...)`
78
+ `定義 国際標準の形式(...); iso8601(...)`
79
+ `定義 XMLスキーマの形式(...); xmlschema(...)`
80
+ `定義 電子メールの付加情報の形式(...); rfc2822(...)`
93
81
  }
94
82
 
95
83
  # Local Variables:
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
  module JA
4
- VERSION = '0.2.0'
4
+ VERSION = '0.3.0'
5
5
  end
6
6
 
7
7
  Japanize = JA unless (defined? Japanize)
data/misc/dump_lib.rb CHANGED
@@ -4,6 +4,7 @@
4
4
  require 'japanize'
5
5
 
6
6
  要求 'optparse'
7
+ 要求 'warning'
7
8
  要求 'yaml'
8
9
 
9
10
  日本語の別名が未定義 = 偽値
@@ -19,6 +20,7 @@ require 'japanize'
19
20
 
20
21
  名前の付いた組や部に一致する正規表現 = /\A [A-Z]/x
21
22
  組み込みではない組や部に一致する正規表現の一覧 = [
23
+ 'Anytick',
22
24
  'Bundler',
23
25
  'CGI',
24
26
  'Delegator',
@@ -64,7 +66,7 @@ require 'japanize'
64
66
  }.である
65
67
  }
66
68
 
67
- 日本語の操作に一致する正規表現 = /[^_A-Za-z0-9!?]/
69
+ 日本語の名前に一致する正規表現 = /[^$@_A-Za-z0-9!?]/
68
70
  組み込みではない操作に一致する正規表現の一覧 = (
69
71
  %w[
70
72
  yaml
@@ -89,6 +91,36 @@ require 'japanize'
89
91
  部と操作の名前の表 = {}
90
92
  例外と操作の名前の表 = {}
91
93
 
94
+ 定義(:日本語の名前か?) {|名前|
95
+ (名前 =~ 日本語の名前に一致する正規表現) && (! 名前.文字列に変換.アスキー文字のみか?)
96
+ }
97
+
98
+ 定義(:日本語の別名を持つ操作を除外) {|名前空間, 操作の一覧, 区切り|
99
+ 日本語の別名の一覧 = 操作の一覧.選択する{|名前|
100
+ 日本語の名前か? 名前
101
+ }.対応させる{|名前|
102
+ この値が{
103
+ 区切り
104
+ }.もし{ '.' }.であるなら{
105
+ 名前空間.操作を取得(名前)
106
+ }.もし{ '#' }.であるなら{
107
+ 名前空間.生成物が持つ操作を取得(名前)
108
+ }.でなければ{
109
+ 例外を発生 "不正な区切り: #{区切り}"
110
+ }.である
111
+ }.除く{|ある操作|
112
+ ある操作.名前 == ある操作.元の名前 || (日本語の名前か? ある操作.元の名前)
113
+ }
114
+
115
+ 日本語の別名を持つ操作の表 = 日本語の別名の一覧.
116
+ 対応させる{|ある操作| [ ある操作.元の名前, ある操作 ] }.
117
+ 連想配列に変換
118
+
119
+ 操作の一覧.
120
+ 除く{|名前| 日本語の別名を持つ操作の表.含むか? 名前 }.
121
+ 除く{|名前| 物で定義済みの操作の表.含むか? 名前 }
122
+ }
123
+
92
124
  [ [ 組と操作の名前の表, 組の表 ],
93
125
  [ 部と操作の名前の表, 部の表 ],
94
126
  [ 例外と操作の名前の表, 例外の表 ]
@@ -97,9 +129,24 @@ require 'japanize'
97
129
  組または部の一覧.この条件で整列!{|甲| 甲.名前 }
98
130
  組または部の一覧.個別に{|組または部|
99
131
  操作の名前の表 = {}
100
- [ [ '特異操作', '.', 組または部.公開された操作の一覧(偽値) -
101
- [ 部, 組 ].対応させる{|甲| 甲.生成物が持つ公開された操作の一覧(偽値) }.畳み込む(:+)
102
- ],
132
+
133
+ 定数の一覧 = 組または部.定数の一覧(偽値)
134
+ 警告の出力.ignore(/: warning: constant \S+ is deprecated\n\z/)
135
+ 定数の一覧.除く!{|名前| 組または部.定数を取得(名前).一種か? 部 }
136
+ もし条件が{ 日本語の別名が未定義 }.であるなら{
137
+ 日本語の別名を持つ値の表 = 定数の一覧.
138
+ 選択する{|名前| 日本語の名前か? 名前 }.
139
+ 対応させる{|名前| [ 組または部.定数を取得(名前), 名前 ] }.
140
+ 連想配列に変換
141
+ 定数の一覧.除く!{|名前| 日本語の別名を持つ値の表.含むか? 組または部.定数を取得(名前) }
142
+ }.である
143
+ 警告の出力.clear
144
+ 操作の名前の表['定数'] = 定数の一覧.
145
+ 除く{|名前| 日本語の名前か? 名前 }.
146
+ 整列.
147
+ 対応させる{|名前| "#{組または部}::#{名前}" }
148
+
149
+ [ [ '特異操作', '.', 組または部.特異組.生成物が持つ公開された操作の一覧(偽値) ],
103
150
  [ '生成物が持つ公開された操作', '#', 組または部.生成物が持つ公開された操作の一覧(偽値) ],
104
151
  [ '生成物が持つ保護された操作', '#', 組または部.生成物が持つ保護された操作の一覧(偽値) ],
105
152
  [ '生成物が持つ秘密の操作', '#', 組または部.生成物が持つ秘密の操作の一覧(偽値) ]
@@ -108,32 +155,10 @@ require 'japanize'
108
155
  組み込みではない操作に一致する正規表現の一覧.何れかが成り立つか?{|ある正規表現| 名前 =~ ある正規表現 }
109
156
  }
110
157
  もし条件が{ 日本語の別名が未定義 }.であるなら{
111
- 日本語の別名の一覧 = 操作の一覧.選択する{|名前|
112
- 名前 =~ 日本語の操作に一致する正規表現
113
- }.対応させる{|名前|
114
- この値が{
115
- 区切り
116
- }.もし{ '.' }.であるなら{
117
- 組または部.操作を取得(名前)
118
- }.もし{ '#' }.であるなら{
119
- 組または部.生成物が持つ操作を取得(名前)
120
- }.でなければ{
121
- 例外を発生 "不正な区切り: #{区切り}"
122
- }.である
123
- }.除く{|ある操作|
124
- ある操作.名前 == ある操作.元の名前 || ある操作.元の名前 =~ 日本語の操作に一致する正規表現
125
- }
126
-
127
- 日本語の別名を持つ操作の表 = 日本語の別名の一覧.
128
- 対応させる{|ある操作| [ ある操作.元の名前, ある操作 ] }.
129
- 連想配列に変換
130
-
131
- 操作の一覧 = 操作の一覧.
132
- 除く{|名前| 日本語の別名を持つ操作の表.含むか? 名前 }.
133
- 除く{|名前| 物で定義済みの操作の表.含むか? 名前 }
158
+ 操作の一覧 = 日本語の別名を持つ操作を除外(組または部, 操作の一覧, 区切り)
134
159
  }.である
135
160
  操作の名前の表[種別] = 操作の一覧.
136
- 除く{|名前| 名前 =~ 日本語の操作に一致する正規表現 }.
161
+ 除く{|名前| 日本語の名前か? 名前 }.
137
162
  整列.
138
163
  対応させる{|名前| "#{組または部.名前}#{区切り}#{名前}" }
139
164
  }
@@ -141,10 +166,55 @@ require 'japanize'
141
166
  }
142
167
  }
143
168
 
169
+ 大域的な物の一覧 = [
170
+ [ 'nil', nil ],
171
+ [ 'true', true ],
172
+ [ 'false', false ]
173
+ ]
174
+ 大域的な物の一覧 += 大域変数の一覧.
175
+ 対応させる(&:文字列に変換).
176
+ 対象外を検索('$KCODE').
177
+ 対象外を検索('$SAFE').
178
+ 対象外を検索('$-K').
179
+ 対象外を検索('$=').
180
+ 除く{|名前| 日本語の名前か? 名前 }.
181
+ 整列.
182
+ 対応させる{|名前| [ 名前, 評価(名前) ] }
183
+ 大域的な物の一覧 += %w[ ARGV ARGF ENV STDERR STDIN STDOUT TOPLEVEL_BINDING ].
184
+ 対応させる{|名前| [ 名前, 物.定数を取得(名前) ] }
185
+
186
+ 定義(:物が持つ操作の一覧を取得) {|ある物|
187
+ 領域{|制御|
188
+ 制御.本処理{
189
+ もし条件が{ ある物.特異組 != ある物.生成元 }.であるなら{
190
+ ある物.特異組.生成物が持つ公開された操作の一覧(偽値)
191
+ }.でなければ{
192
+ []
193
+ }.である
194
+ }
195
+ 制御.例外を捕捉(型が合わないため失敗) {
196
+ []
197
+ }
198
+ }
199
+ }
200
+
201
+ 物と操作の名前の表 = {}
202
+ 大域的な物の一覧.個別に{|物の名前, ある物|
203
+ 操作の一覧 = 物が持つ操作の一覧を取得(ある物)
204
+ もし条件が{ 日本語の別名が未定義 }.であるなら{
205
+ 操作の一覧 = 日本語の別名を持つ操作を除外(ある物, 操作の一覧, '.')
206
+ }.である
207
+ 物と操作の名前の表[物の名前] = 操作の一覧.
208
+ 除く{|名前| 日本語の名前か? 名前 }.
209
+ 整列.
210
+ 対応させる{|名前| "#{物の名前}.#{名前}" }
211
+ }
212
+
144
213
  組み込みライブラリの表 = {
145
214
  '組' => 組と操作の名前の表,
146
215
  '部' => 部と操作の名前の表,
147
- '例外' => 例外と操作の名前の表
216
+ '例外' => 例外と操作の名前の表,
217
+ '物' => 物と操作の名前の表
148
218
  }
149
219
 
150
220
  行を出力 組み込みライブラリの表.to_yaml
@@ -28,8 +28,9 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  spec.required_ruby_version = '>= 2.6'
30
30
 
31
- spec.add_development_dependency 'bundler', '~> 1.17'
32
- spec.add_development_dependency 'rake', '~> 10.0'
31
+ spec.add_runtime_dependency 'anytick'
32
+ spec.add_development_dependency 'bundler'
33
+ spec.add_development_dependency 'rake'
33
34
  spec.add_development_dependency 'test-unit'
34
35
  spec.add_development_dependency 'warning'
35
36
  spec.add_development_dependency 'rdoc'
metadata CHANGED
@@ -1,43 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-japanize
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TOKI Yoshinori
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-05 00:00:00.000000000 Z
11
+ date: 2020-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: anytick
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
- - - "~>"
31
+ - - ">="
18
32
  - !ruby/object:Gem::Version
19
- version: '1.17'
33
+ version: '0'
20
34
  type: :development
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
- - - "~>"
38
+ - - ">="
25
39
  - !ruby/object:Gem::Version
26
- version: '1.17'
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - "~>"
45
+ - - ">="
32
46
  - !ruby/object:Gem::Version
33
- version: '10.0'
47
+ version: '0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - "~>"
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
- version: '10.0'
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: test-unit
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -102,6 +116,7 @@ extensions: []
102
116
  extra_rdoc_files: []
103
117
  files:
104
118
  - ".gitignore"
119
+ - CHANGELOG.md
105
120
  - Gemfile
106
121
  - LICENSE.txt
107
122
  - README.md
@@ -172,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
187
  - !ruby/object:Gem::Version
173
188
  version: '0'
174
189
  requirements: []
175
- rubygems_version: 3.0.3
190
+ rubygems_version: 3.1.2
176
191
  signing_key:
177
192
  specification_version: 4
178
193
  summary: Rubyを日本語化する