ruby-japanize 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|