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.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/Gemfile +13 -0
- data/LICENSE.txt +21 -0
- data/README.md +1459 -0
- data/Rakefile +88 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/japanize/base.rb +652 -0
- data/lib/japanize/container.rb +213 -0
- data/lib/japanize/core.rb +194 -0
- data/lib/japanize/enum.rb +127 -0
- data/lib/japanize/errors.rb +79 -0
- data/lib/japanize/globals.rb +109 -0
- data/lib/japanize/io.rb +388 -0
- data/lib/japanize/names.rb +213 -0
- data/lib/japanize/num.rb +319 -0
- data/lib/japanize/process.rb +318 -0
- data/lib/japanize/string.rb +257 -0
- data/lib/japanize/syntax.rb +805 -0
- data/lib/japanize/sys.rb +174 -0
- data/lib/japanize/test_unit.rb +99 -0
- data/lib/japanize/thread.rb +143 -0
- data/lib/japanize/time.rb +82 -0
- data/lib/japanize/version.rb +12 -0
- data/lib/japanize.rb +24 -0
- data/ruby-japanize.gemspec +41 -0
- data/sample/README.md +33 -0
- data/sample/dir.rb +15 -0
- data/sample/eval.rb +48 -0
- data/sample/export.rb +44 -0
- data/sample/fact.rb +17 -0
- data/sample/fib.rb +13 -0
- data/sample/freq.rb +17 -0
- data/sample/fullpath.rb +29 -0
- data/sample/less.rb +19 -0
- data/sample/list.rb +86 -0
- data/sample/list2.rb +22 -0
- data/sample/list3.rb +23 -0
- data/sample/mine.rb +204 -0
- data/sample/mkproto.rb +33 -0
- data/sample/mpart.rb +48 -0
- data/sample/occur.rb +17 -0
- data/sample/occur2.rb +17 -0
- data/sample/philos.rb +57 -0
- data/sample/pi.rb +20 -0
- data/sample/rcs.dat +17 -0
- data/sample/rcs.rb +45 -0
- data/sample/sieve.rb +17 -0
- data/sample/time.rb +14 -0
- data/sample/trojan.rb +18 -0
- data/sample/uumerge.rb +47 -0
- metadata +164 -0
data/sample/rcs.dat
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
0000000000000000220000000000000000
|
2
|
+
0000000000000111221110000000000000
|
3
|
+
0000000000111112222111110000000000
|
4
|
+
0000000111111112222111111110000000
|
5
|
+
0000111111111122222211111111110000
|
6
|
+
0111111111111222222221111111111110
|
7
|
+
2222222222222222222222222222222222
|
8
|
+
1122222222222222222222222222222211
|
9
|
+
0111122222222222222222222222211110
|
10
|
+
0011111122222222222222222211111100
|
11
|
+
0001111111222222222222221111111000
|
12
|
+
0000111112222222222222222111110000
|
13
|
+
0000011122222222112222222211100000
|
14
|
+
0000001122222221111222222211000000
|
15
|
+
0000000122221111111111222210000000
|
16
|
+
0000000221111111111111111220000000
|
17
|
+
0000000000000000000000000000000000
|
data/sample/rcs.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
require 'japanize'
|
4
|
+
|
5
|
+
# ばらばらな点々で描く立体画像
|
6
|
+
# 使い方: rcs.rb rcs.dat
|
7
|
+
|
8
|
+
元の幅 = 40.0 # 元のパターンの幅
|
9
|
+
生成後の幅 = 78.0 # 生成する立体画像の幅
|
10
|
+
生成後の半幅 = 生成後の幅 / 2.0
|
11
|
+
眼の間隔 = 20.0 # 二つの眼の間の間隔
|
12
|
+
基準距離 = 1.0 # 画面と基準平面の距離(平行法なら深さ、交差法なら高さ)
|
13
|
+
単位距離 = 0.2 # z値の単位
|
14
|
+
文字表 = "abcdefghijklmnopqrstuvwxyz0123456789#!$%^&*()-=\\[];'`,./"
|
15
|
+
_種 = 乱数の種を設定() # 実際はRubyでは必要ない - 乱数を最初に
|
16
|
+
# 呼ぶときに乱数の種を自動的に設定する
|
17
|
+
|
18
|
+
この条件なら{ 行を取得() }.繰り返す{
|
19
|
+
# 印字($_)
|
20
|
+
右側の横座標 = -生成後の半幅; 奥行座標 = 基準距離 * 1.0; 左側の横座標の最大値 = -999
|
21
|
+
出力行 = ""
|
22
|
+
この条件なら{ 右側の横座標 < 生成後の半幅 }.繰り返す{
|
23
|
+
横座標 = 右側の横座標 * (1 + 奥行座標) - 奥行座標 * 眼の間隔 / 2
|
24
|
+
位置 = (横座標 / (1 + 基準距離) + 元の幅 / 2)
|
25
|
+
等級 = 無値 # 肯否分岐がスコープを作るので、あらかじめ局所変数を初期化しておく
|
26
|
+
もし条件が{ 1 < 位置 && 位置 < $_.長さ }.であるなら{
|
27
|
+
等級 = $_[位置, 1].整数に変換
|
28
|
+
}.でなければ{
|
29
|
+
等級 = 0
|
30
|
+
}.である
|
31
|
+
奥行座標 = 基準距離 - 単位距離 * 等級
|
32
|
+
左側の横座標 = 右側の横座標 - 眼の間隔 * 奥行座標 / (1 + 奥行座標)
|
33
|
+
文字 = 無値 # 肯否分岐がスコープを作るので、あらかじめ局所変数を初期化しておく
|
34
|
+
もし条件が{ 左側の横座標 < -生成後の半幅 || 左側の横座標 >= 生成後の半幅 || 左側の横座標 <= 左側の横座標の最大値 }.であるなら{
|
35
|
+
乱数値 = 乱数(文字表.長さ)
|
36
|
+
文字 = 文字表[乱数値, 1]
|
37
|
+
}.でなければ{
|
38
|
+
文字 = 出力行[左側の横座標 + 生成後の半幅, 1]
|
39
|
+
左側の横座標の最大値 = 左側の横座標
|
40
|
+
}.である
|
41
|
+
出力行 += 文字
|
42
|
+
右側の横座標 += 1
|
43
|
+
}
|
44
|
+
印字(出力行, "\n")
|
45
|
+
}
|
data/sample/sieve.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
require 'japanize'
|
4
|
+
|
5
|
+
最大値 = 整数(スクリプトの引数.先頭から取り出す || 100)
|
6
|
+
篩 = []
|
7
|
+
(2..最大値).個別に{|数|
|
8
|
+
篩[数] = 数
|
9
|
+
}
|
10
|
+
|
11
|
+
(2..数学.平方根(最大値)).個別に.繰り返す{|制御, 数|
|
12
|
+
もし条件が{ 篩[数] }.でなければ{ 制御.次へ進む }.である
|
13
|
+
(数 * 数).間を進む(最大値, 数) {|倍数|
|
14
|
+
篩[倍数] = 無値
|
15
|
+
}
|
16
|
+
}
|
17
|
+
行を出力 篩.詰める.結合(", ")
|
data/sample/time.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
require 'japanize'
|
4
|
+
|
5
|
+
開始 = 時刻.現在
|
6
|
+
外部のコマンドを実行する(*スクリプトの引数)
|
7
|
+
終了 = 時刻.現在
|
8
|
+
|
9
|
+
積算時間 = プロセス.積算時間を取得
|
10
|
+
実時間 = 終了 - 開始
|
11
|
+
ユーザCPU時間 = 積算時間.子プロセスのユーザCPU時間
|
12
|
+
システムCPU時間 = 積算時間.子プロセスのシステムCPU時間
|
13
|
+
|
14
|
+
標準エラー出力.整形して印字("%11.1f 実時間 %11.1f ユーザ %11.1f システム\n", 実時間, ユーザCPU時間, システムCPU時間)
|
data/sample/trojan.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
#! /usr/local/bin/ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
require 'japanize'
|
5
|
+
|
6
|
+
実行ファイルの探索経路 = 環境変数['PATH'].分割(ファイル::実行ファイルの探索経路の区切り文字)
|
7
|
+
|
8
|
+
実行ファイルの探索経路.個別に{|ある経路|
|
9
|
+
もし条件が{ ファイル.ディレクトリか? ある経路 }.であるなら{
|
10
|
+
(あるディレクトリ = ディレクトリ.開く(ある経路)).個別に{|ファイル名|
|
11
|
+
ファイルへの経路 = ファイル.結合(ある経路, ファイル名)
|
12
|
+
もし条件が{ ファイル.ファイルか?(ファイルへの経路) && (ファイル.状態を取得(ファイルへの経路).操作許可 & 022) != 0 }.であるなら{
|
13
|
+
整形して印字("ファイル %s は他のユーザから更新され得る状態です\n", ファイルへの経路)
|
14
|
+
}.である
|
15
|
+
}
|
16
|
+
あるディレクトリ.閉じる
|
17
|
+
}.である
|
18
|
+
}
|
data/sample/uumerge.rb
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
require 'japanize'
|
5
|
+
|
6
|
+
標準出力へ書く = 無値 # 肯否分岐がスコープを作るので、あらかじめ局所変数を初期化しておく
|
7
|
+
もし条件が{ スクリプトの引数[0] == "-c" }.であるなら{
|
8
|
+
標準出力へ書く = 1
|
9
|
+
スクリプトの引数.先頭から取り出す
|
10
|
+
}.である
|
11
|
+
|
12
|
+
$開始を見た数 = 0
|
13
|
+
$終了を見た数 = 0
|
14
|
+
|
15
|
+
行 = 無値 # 肯否分岐がスコープを作るので、あらかじめ局所変数を初期化しておく
|
16
|
+
出力先 = 無値 # 肯否分岐がスコープを作るので、あらかじめ局所変数を初期化しておく
|
17
|
+
この条件なら{ 行 = 行を取得() }.繰り返す{|制御|
|
18
|
+
もし条件が{ /^begin\s*(\d*)\s*(\S*)/ =~ 行 }.であるなら{
|
19
|
+
$操作許可, $ファイル = $1, $2
|
20
|
+
$開始を見た数 += 1
|
21
|
+
もし条件が{ 標準出力へ書く }.であるなら{
|
22
|
+
出力先 = 標準出力
|
23
|
+
}.でなければ{
|
24
|
+
もし条件が{ $ファイル != "" }.であるなら{ 出力先 = ファイルを開く($ファイル, "w") }.である
|
25
|
+
}.である
|
26
|
+
制御.終わる
|
27
|
+
}.である
|
28
|
+
}
|
29
|
+
|
30
|
+
もし条件が{ $開始を見た数 > 0 }.でなければ{ 例外を発生 "beginが見つかりません" }.である
|
31
|
+
|
32
|
+
出力先.バイナリ形式
|
33
|
+
この条件なら{ 行 = 行を取得 }.繰り返す{|制御|
|
34
|
+
もし条件が{ /^end/ =~ 行 }.であるなら{
|
35
|
+
$終了を見た数 += 1
|
36
|
+
もし条件が{ 標準出力へ書く }.でなければ{ 出力先.閉じる }.である
|
37
|
+
もし条件が{ 標準出力へ書く }.でなければ{ ファイル.操作許可を変更($操作許可.八進数, $ファイル) }.である
|
38
|
+
}.である
|
39
|
+
行.置換!(/[a-z]+$/, "") # 冗長な行末の小文字を削除
|
40
|
+
もし条件が{ /[a-z]/ =~ 行 }.であるなら{ 制御.次へ進む }.である
|
41
|
+
もし条件が{ ! (行.アスキー文字のみか? && (((行.バイト値を取得(0) - 32) & 077) + 2) / 3 == 行.長さ / 4) }.であるなら{ 制御.次へ進む }.である
|
42
|
+
もし条件が{ $開始を見た数 > $終了を見た数 }.であるなら{ 出力先 << 行.一個の情報を開梱("u") }.である
|
43
|
+
}
|
44
|
+
|
45
|
+
もし条件が{ $開始を見た数 > $終了を見た数 }.であるなら{ 例外を発生 "endが見つかりません" }.である
|
46
|
+
もし条件が{ $開始を見た数 > 0 }.でなければ{ 例外を発生 "beginが見つかりません" }.である
|
47
|
+
終了 0
|
metadata
ADDED
@@ -0,0 +1,164 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ruby-japanize
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- TOKI Yoshinori
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-10-14 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.17'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.17'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '10.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: test-unit
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rdoc
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: irb
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description: " 日本語の別名や構文を定義してRubyを日本語で書けるようにする。\n"
|
84
|
+
email:
|
85
|
+
- toki@freedom.ne.jp
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- ".gitignore"
|
91
|
+
- Gemfile
|
92
|
+
- LICENSE.txt
|
93
|
+
- README.md
|
94
|
+
- Rakefile
|
95
|
+
- bin/console
|
96
|
+
- bin/setup
|
97
|
+
- lib/japanize.rb
|
98
|
+
- lib/japanize/base.rb
|
99
|
+
- lib/japanize/container.rb
|
100
|
+
- lib/japanize/core.rb
|
101
|
+
- lib/japanize/enum.rb
|
102
|
+
- lib/japanize/errors.rb
|
103
|
+
- lib/japanize/globals.rb
|
104
|
+
- lib/japanize/io.rb
|
105
|
+
- lib/japanize/names.rb
|
106
|
+
- lib/japanize/num.rb
|
107
|
+
- lib/japanize/process.rb
|
108
|
+
- lib/japanize/string.rb
|
109
|
+
- lib/japanize/syntax.rb
|
110
|
+
- lib/japanize/sys.rb
|
111
|
+
- lib/japanize/test_unit.rb
|
112
|
+
- lib/japanize/thread.rb
|
113
|
+
- lib/japanize/time.rb
|
114
|
+
- lib/japanize/version.rb
|
115
|
+
- ruby-japanize.gemspec
|
116
|
+
- sample/README.md
|
117
|
+
- sample/dir.rb
|
118
|
+
- sample/eval.rb
|
119
|
+
- sample/export.rb
|
120
|
+
- sample/fact.rb
|
121
|
+
- sample/fib.rb
|
122
|
+
- sample/freq.rb
|
123
|
+
- sample/fullpath.rb
|
124
|
+
- sample/less.rb
|
125
|
+
- sample/list.rb
|
126
|
+
- sample/list2.rb
|
127
|
+
- sample/list3.rb
|
128
|
+
- sample/mine.rb
|
129
|
+
- sample/mkproto.rb
|
130
|
+
- sample/mpart.rb
|
131
|
+
- sample/occur.rb
|
132
|
+
- sample/occur2.rb
|
133
|
+
- sample/philos.rb
|
134
|
+
- sample/pi.rb
|
135
|
+
- sample/rcs.dat
|
136
|
+
- sample/rcs.rb
|
137
|
+
- sample/sieve.rb
|
138
|
+
- sample/time.rb
|
139
|
+
- sample/trojan.rb
|
140
|
+
- sample/uumerge.rb
|
141
|
+
homepage: https://github.com/y10k/ruby-japanize
|
142
|
+
licenses:
|
143
|
+
- MIT
|
144
|
+
metadata: {}
|
145
|
+
post_install_message:
|
146
|
+
rdoc_options: []
|
147
|
+
require_paths:
|
148
|
+
- lib
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '2.6'
|
154
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
requirements: []
|
160
|
+
rubygems_version: 3.0.3
|
161
|
+
signing_key:
|
162
|
+
specification_version: 4
|
163
|
+
summary: Rubyを日本語化する
|
164
|
+
test_files: []
|