ruby-japanize 0.2.0 → 0.3.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.
@@ -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を日本語化する