sheltered-girl 4.0.2

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.
Files changed (111) hide show
  1. checksums.yaml +7 -0
  2. data/.env +4 -0
  3. data/.gitignore +3 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE.txt +28 -0
  6. data/README.md +9 -0
  7. data/bin/aqua +258 -0
  8. data/bin/bmi +56 -0
  9. data/bin/bmi-license +118 -0
  10. data/bin/katakana +35 -0
  11. data/bin/koyomi +59 -0
  12. data/bin/romaji +35 -0
  13. data/bin/speak +843 -0
  14. data/bin/tenji +43 -0
  15. data/bin/tenji_log +43 -0
  16. data/bin/tweet +79 -0
  17. data/bin/zinbeijett +317 -0
  18. data/bin/zinbeiw +1122 -0
  19. data/lib/all.rb +45 -0
  20. data/lib/all_log.rb +51 -0
  21. data/lib/and.rb +48 -0
  22. data/lib/autocal.rb +21 -0
  23. data/lib/bmi.rb +28 -0
  24. data/lib/calendar.rb +17 -0
  25. data/lib/count.rb +43 -0
  26. data/lib/decript.rb +20 -0
  27. data/lib/druby_erb.rb +45 -0
  28. data/lib/druby_reci.rb +24 -0
  29. data/lib/feed.rb +13 -0
  30. data/lib/gc.rb +17 -0
  31. data/lib/gem_version.rb +9 -0
  32. data/lib/himekuri.rb +195 -0
  33. data/lib/hyaku.rb +55 -0
  34. data/lib/katakana.rb +666 -0
  35. data/lib/kome.rb +41 -0
  36. data/lib/mail.rb +47 -0
  37. data/lib/match.rb +45 -0
  38. data/lib/mini.rb +47 -0
  39. data/lib/minitest/full_runner.rb +105 -0
  40. data/lib/minitest/runner.rb +74 -0
  41. data/lib/not.rb +48 -0
  42. data/lib/or.rb +49 -0
  43. data/lib/require_sec_seiki.rb +3 -0
  44. data/lib/rice.rb +37 -0
  45. data/lib/romaji.rb +666 -0
  46. data/lib/saikoro.rb +18 -0
  47. data/lib/seiki.rb +13 -0
  48. data/lib/suihan.rb +40 -0
  49. data/lib/summa.rb +15 -0
  50. data/lib/tanraku.rb +149 -0
  51. data/lib/tenji.rb +4716 -0
  52. data/lib/tenji_log.rb +4715 -0
  53. data/lib/timestamp.py +61 -0
  54. data/lib/title.rb +17 -0
  55. data/lib/tubuyaki.rb +72 -0
  56. data/lib/tubuyaki_memo.rb +88 -0
  57. data/lib/tweet_cmd.rb +28 -0
  58. data/lib/txt/hyakunin.txt +100 -0
  59. data/lib/version.rb +35 -0
  60. data/lib/zella.js +34 -0
  61. data/lib/zella.rb +46 -0
  62. data/lib/zella.ts +46 -0
  63. data/log/tenji_a.txt +0 -0
  64. data/log/tenji_b.txt +0 -0
  65. data/log/tenji_c.txt +0 -0
  66. data/log/tenji_d.txt +0 -0
  67. data/log/tenji_e.txt +0 -0
  68. data/log/tenji_g.txt +0 -0
  69. data/log/tenji_i.txt +0 -0
  70. data/log/tenji_k.txt +0 -0
  71. data/log/tenji_t.txt +0 -0
  72. data/log/tenji_z.txt +0 -0
  73. data/req/bmi.rb +7 -0
  74. data/req/full_run.rb +21 -0
  75. data/req/full_runner.rb +9 -0
  76. data/req/himekuri.rb +9 -0
  77. data/req/katakana.rb +7 -0
  78. data/req/koyomi.rb +8 -0
  79. data/req/mini_run.rb +21 -0
  80. data/req/romaji.rb +7 -0
  81. data/req/rubygems.rb +12 -0
  82. data/req/runner.rb +9 -0
  83. data/req/zella.rb +5 -0
  84. data/req/zinbeiw.rb +9 -0
  85. data/runner/full.rb +57 -0
  86. data/runner/katakana.rb +110 -0
  87. data/runner/mini.rb +57 -0
  88. data/runner/romaji.rb +110 -0
  89. data/shell/romaji_runner_1.rb +669 -0
  90. data/shell/romaji_runner_10.rb +669 -0
  91. data/shell/romaji_runner_2.rb +669 -0
  92. data/shell/romaji_runner_3.rb +669 -0
  93. data/shell/romaji_runner_4.rb +669 -0
  94. data/shell/romaji_runner_5.rb +669 -0
  95. data/shell/romaji_runner_6.rb +669 -0
  96. data/shell/romaji_runner_7.rb +669 -0
  97. data/shell/romaji_runner_8.rb +669 -0
  98. data/shell/romaji_runner_9.rb +669 -0
  99. data/shell_ka/katakana_runner_1.rb +669 -0
  100. data/shell_ka/katakana_runner_10.rb +669 -0
  101. data/shell_ka/katakana_runner_2.rb +669 -0
  102. data/shell_ka/katakana_runner_3.rb +669 -0
  103. data/shell_ka/katakana_runner_4.rb +669 -0
  104. data/shell_ka/katakana_runner_5.rb +669 -0
  105. data/shell_ka/katakana_runner_6.rb +669 -0
  106. data/shell_ka/katakana_runner_7.rb +669 -0
  107. data/shell_ka/katakana_runner_8.rb +669 -0
  108. data/shell_ka/katakana_runner_9.rb +669 -0
  109. data/sheltered-girl.gemspec +46 -0
  110. data/wiki/README.md +51 -0
  111. metadata +330 -0
data/lib/all.rb ADDED
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'require_sec_seiki'
4
+ require 'bmi'
5
+
6
+ # All search loads.
7
+ module All
8
+ module_function
9
+
10
+ def search
11
+ encoding_style
12
+
13
+ one = ARGV[1]
14
+
15
+ File.open(one) do |f|
16
+ while (str2 = f.gets)
17
+ str = str2.chomp!
18
+ twice = ARGV[2]
19
+ three_act = /#{twice}/o
20
+ ext = 'else文には到達しないはずです!'
21
+
22
+ begin
23
+ str =~ three_act ? printf("%2d : %s\n", f.lineno, str) : ext
24
+ rescue Timeout::Error
25
+ exit!
26
+ end
27
+ end
28
+
29
+ if f.eof?
30
+ f.close
31
+ elsif !f.eof
32
+ begin
33
+ raise All
34
+ rescue StandardError => ee
35
+ puts ee.backtrace
36
+ puts ee.backtrace_locations
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ GC.compact
44
+
45
+ __END__
data/lib/all_log.rb ADDED
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'require_sec_seiki'
4
+ require 'bmi'
5
+
6
+ Dir.mkdir('log', perm = 0o777) unless FileTest.exist?('log')
7
+
8
+ # match search loads.
9
+ module Mat
10
+ module_function
11
+
12
+ def search
13
+ encoding_style
14
+
15
+ one = ARGV[1]
16
+ File.open(one) do |f|
17
+ while (str2 = f.gets)
18
+ str = str2.chomp!
19
+ twice = ARGV[2]
20
+ three_act = /#{twice}/o
21
+
22
+ begin
23
+ File.open('log/output.txt', 'a:utf-8', perm = 0o777) do |fi|
24
+ if str.match(three_act) || {}[:match]
25
+ fi.puts(str)
26
+ printf('%2d : %s', f.lineno, str)
27
+ puts ''
28
+ end
29
+ end
30
+ rescue Timeout::Error
31
+ exit!
32
+ end
33
+ end
34
+
35
+ if f.eof?
36
+ f.close
37
+ elsif !f.eof
38
+ begin
39
+ raise All
40
+ rescue StandardError => e
41
+ puts e.backtrace
42
+ puts e.backtrace_locations
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ GC.compact
50
+
51
+ __END__
data/lib/and.rb ADDED
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'require_sec_seiki'
4
+ require 'bmi'
5
+
6
+ # And Search loads.
7
+ module And
8
+ module_function
9
+
10
+ def search
11
+ encoding_style
12
+
13
+ one = ARGV[1]
14
+
15
+ File.open(one) do |f|
16
+ while (str2 = f.gets)
17
+ str = str2.chomp!
18
+ twice = ARGV[2]
19
+ three_act2 = /^(?=.*#{twice})/o
20
+
21
+ begin
22
+ if str =~ three_act2
23
+ printf('%2d : %s', f.lineno, str)
24
+ puts ''
25
+ end
26
+ rescue Timeout::Error
27
+ exit!
28
+ end
29
+ end
30
+
31
+ if f.eof?
32
+ f.close
33
+ elsif !f.eof
34
+ begin
35
+ raise And
36
+ rescue StandardError => ee
37
+ puts ee.backtrace
38
+ puts ee.backtrace_locations
39
+ exit!
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ GC.compact
47
+
48
+ __END__
data/lib/autocal.rb ADDED
@@ -0,0 +1,21 @@
1
+ require 'date'
2
+ require 'pycall/import'
3
+ include PyCall::Import
4
+ require 'bmi'
5
+
6
+ module Auto
7
+ module_function
8
+
9
+ def view
10
+ encoding_style
11
+
12
+ yr = ARGV[1]
13
+ mh = ARGV[2]
14
+ pyimport :calendar
15
+ puts (calendar.month(yr.to_i,mh.to_i))
16
+ end
17
+ end
18
+
19
+ GC.compact
20
+
21
+ __END__
data/lib/bmi.rb ADDED
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ require "#{File.dirname(__FILE__)}/../req/bmi"
7
+
8
+ module BMI
9
+ module_function
10
+
11
+ def encoding_style
12
+ Encoding.default_internal = Encoding::UTF_8
13
+ Encoding.default_external = Encoding::UTF_8
14
+ end
15
+
16
+ def encoding_style_sjis
17
+ Encoding.default_internal = Encoding::SJIS
18
+ Encoding.default_external = Encoding::SJIS
19
+ end
20
+
21
+ def calc(kg, m)
22
+ kg.to_f / (m.to_f ** 2)
23
+ end
24
+ end
25
+
26
+ include BMI
27
+
28
+ __END__
data/lib/calendar.rb ADDED
@@ -0,0 +1,17 @@
1
+ require 'date'
2
+ require 'pycall/import'
3
+ include PyCall::Import
4
+
5
+ module Calendar
6
+ module_function
7
+
8
+ def view
9
+ d = Date.today
10
+ pyimport :calendar
11
+ puts (calendar.month(d.year,d.month))
12
+ end
13
+ end
14
+
15
+ GC.compact
16
+
17
+ __END__
data/lib/count.rb ADDED
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'require_sec_seiki'
4
+ require 'bmi'
5
+
6
+ # Count method.
7
+ module Count
8
+ module_function
9
+
10
+ def search
11
+ encoding_style
12
+
13
+ one = ARGV[1]
14
+
15
+ File.open(one) do |f|
16
+ while (str2 = f.gets)
17
+ str = str2.chomp!
18
+ twice = ARGV[2]
19
+ three_act2 = /^(?=.*#{twice})/o
20
+
21
+ begin
22
+ puts str.count(three_act2.to_s)
23
+ rescue Timeout::Error
24
+ exit!
25
+ end
26
+ end
27
+
28
+ if f.eof?
29
+ f.close
30
+ elsif !f.eof
31
+ begin
32
+ raise And
33
+ rescue StandardError => ee
34
+ puts ee.backtrace
35
+ puts ee.backtrace_locations
36
+ exit!
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+
43
+ GC.compact
data/lib/decript.rb ADDED
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'openssl'
4
+
5
+ # 暗号化クラス
6
+ class String_encrypt
7
+
8
+ def use_case_hash
9
+ # data, key 暗号化対象文字列
10
+ data = ARGV[0]
11
+ key = ARGV[1]
12
+ digest = OpenSSL::HMAC.new(key, 'sha256')
13
+ digest.update(data)
14
+ puts digest.hexdigest #暗号化
15
+ end
16
+ end
17
+
18
+ GC.compact
19
+
20
+ __END__
data/lib/druby_erb.rb ADDED
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'date'
4
+ require 'drb/drb'
5
+ require 'erb'
6
+ require 'bmi'
7
+
8
+ # dRuby class method.
9
+ class Remindar
10
+ encoding_style
11
+
12
+ def initialize(remindar)
13
+ @remindar = remindar
14
+ @erb = ERB.new(erb_src)
15
+ end
16
+
17
+ def erb_src
18
+ <<~SRC
19
+ <html>
20
+ <head>時刻表示</head>
21
+ <body>
22
+ <p><%= Time.new.strftime('%Y年%m月%d日 %H時%M分%S秒') %><p>
23
+ </body>
24
+ </html>
25
+ SRC
26
+ end
27
+
28
+ def to_html
29
+ @erb.result(binding)
30
+ end
31
+ end
32
+
33
+ # Druby Class
34
+ class Druby
35
+ def main
36
+ DRb.start_service
37
+ there = DRbObject.new_with_uri('druby://localhost:8888')
38
+ writer = Remindar.new(there)
39
+ there.puts(writer.to_html)
40
+ end
41
+ end
42
+
43
+ GC.compact
44
+
45
+ __END__
data/lib/druby_reci.rb ADDED
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'date'
4
+ require 'drb/drb'
5
+ require 'erb'
6
+
7
+ class Puts
8
+ def initialize(stream=$stdout)
9
+ @stream = stream
10
+ end
11
+
12
+ def puts(str)
13
+ @stream.puts(str)
14
+ end
15
+ end
16
+
17
+ uri = ARGV.shift
18
+ DRb.start_service(uri, Puts.new)
19
+ puts DRb.uri
20
+ sleep
21
+
22
+ GC.compact
23
+
24
+ __END__
data/lib/feed.rb ADDED
@@ -0,0 +1,13 @@
1
+ require 'feedjira'
2
+ require 'httparty'
3
+
4
+ class Feed
5
+ def jira
6
+ url = ARGV[1]
7
+ xml = HTTParty.get(url).body
8
+ Feedjira.parse(xml).entries.each do |entry|
9
+ puts "#{entry.title}"
10
+ end
11
+ end
12
+ end
13
+
data/lib/gc.rb ADDED
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bmi'
4
+
5
+ # GC compaction run.
6
+ module Star
7
+ module_function
8
+
9
+ def search
10
+ encoding_style
11
+ puts GC.compact
12
+ end
13
+ end
14
+
15
+ GC.compact
16
+
17
+ __END__
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'open3'
4
+
5
+ module RbGemversion
6
+ gem_version = 'gem -v'
7
+ stdout_rb, stderr_rb, status_rb = Open3.capture3(gem_version)
8
+ VERSION = stdout_rb.to_s
9
+ end
data/lib/himekuri.rb ADDED
@@ -0,0 +1,195 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ require "#{File.dirname(__FILE__)}/../req/himekuri"
7
+
8
+ class HimekuriClass
9
+ def himekuri_print
10
+ dt = Date.today
11
+ week = %w[日 月 火 水 木 金 土][dt.wday]
12
+ print '時刻を表示 : '
13
+ t = Time.new # 今日の日付と時刻
14
+ print t.strftime('%Y年%m月%d日 : %H時%M分%S秒 : ')
15
+ puts "#{week}曜日"
16
+ end
17
+
18
+ def count_print
19
+ t = Time.new
20
+ x = Time.mktime(t.year, t.month, t.day)
21
+ y = Time.mktime(t.year + 1, 1, 1)
22
+
23
+ # 1years 365 days.
24
+ if (((y - x) / 60 / 60 / 24) - 1).round.to_i.zero?
25
+ puts '年の瀬、今年もお世話になりました。来年もよろしくお願いします!'
26
+ elsif (((y - x) / 60 / 60 / 24) - 1).round.to_i == 1
27
+ puts '元旦、新年明けましておめでとうございます!'
28
+ else
29
+ puts "来年の1月1日まであと: #{(((y - x) / 60 / 60 / 24) - 1).round} 日です"
30
+ end
31
+ end
32
+
33
+ def reiwa_print
34
+ # ------------------------------
35
+
36
+ # ------------------------------
37
+ t = Time.new # 今日の日付と時刻
38
+ td = Date.today
39
+
40
+ # 令和2年目以降
41
+ nen = %w[令和]
42
+
43
+ # 平成から令和の始まり
44
+ # nen = ['平成', '令和']
45
+ # ------------------------------
46
+
47
+ # 2019/5/1以降
48
+ # if ("#{td.year}".to_s+"#{td.month}".to_s).match?(/^20201$/)
49
+ # if "#{td.year}" + "#{td.month}" =~ /^20201$/
50
+ # puts (nen[1] + "#{(td.year - 2018)}年"+"#{td.month}月"+"#{td.day}日") +" "+t.to_date.jisx0301
51
+ # else
52
+ # puts (nen[1] + "#{(td.year - 2018)}年".gsub(/[1]/,"元")+"#{td.month}月"+"#{td.day}日") +" "+t.to_date.jisx0301
53
+ # end
54
+
55
+ # 2020/1/1以降
56
+ puts "#{nen[0] + "#{td.year - 2018}年" + "#{td.month}月" + "#{td.day}日"} : #{t.to_date.jisx0301}"
57
+ end
58
+
59
+ def wahugetsu_print
60
+ td = Date.today
61
+ nen = %w[令和]
62
+ nen_y = %w[無 睦月 如月 弥生 卯月 皐月 水無月 文月 葉月 長月 神無月 霜月 師走][td.month]
63
+
64
+ begin
65
+ raise '「無」に辿り着いてはいけません!' if td.month.to_s.to_i.zero?
66
+
67
+
68
+ puts("#{nen[0]}#{td.year - 2018}年#{td.month}月 : #{nen_y}")
69
+ rescue StandardError => e
70
+ puts e.backtrace
71
+ end
72
+ end
73
+
74
+ def reiwa
75
+ td = Date.today
76
+ # nen = %w(平成 令和)
77
+ # 2019/5/1以降
78
+ # if ("#{td.year}".to_s+"#{td.month}".to_s).match?(/^20201$/)
79
+ # (nen[1] + "#{(td.year - 2018)}年"+"#{td.month}月"+"#{td.day}日")
80
+ # else
81
+ # (nen[1] + "#{(td.year - 2018)}年".gsub(/[1]/,"元")+"#{td.month}月"+"#{td.day}日")
82
+ # end
83
+
84
+ # 2020/1/1以降
85
+ nen = %w[令和]
86
+ "#{nen[0]}#{td.year - 2018}年#{td.month}月#{td.day}日#{%w[日 月 火 水 木 金 土][td.wday]}曜日"
87
+ end
88
+
89
+ def himekuri
90
+ dt = Date.today
91
+ week = %w[日 月 火 水 木 金 土][dt.wday]
92
+ t = Time.new # 今日の日付と時刻
93
+ "#{t.strftime('%Y年%m月%d日 : %H時%M分%S秒 : ')}#{week}曜日"
94
+ end
95
+
96
+ def count
97
+ t = Time.new
98
+ x = Time.mktime(t.year, t.month, t.day)
99
+ y = Time.mktime(t.year + 1, 1, 1)
100
+
101
+ # 1years 365 days.
102
+ # 1years 365 days.
103
+ if (((y - x) / 60 / 60 / 24) - 1).round.to_i.zero?
104
+ '年の瀬、今年もお世話になりました。来年もよろしくお願いします!'
105
+ elsif (((y - x) / 60 / 60 / 24) - 1).round.to_i == 1
106
+ '元旦、新年明けましておめでとうございます!'
107
+ else
108
+ "来年の1月1日まであと: #{(((y - x) / 60 / 60 / 24) - 1).round} 日です"
109
+ end
110
+ end
111
+
112
+ def wahugetsu_web
113
+ td = Date.today
114
+ nen = %w[令和]
115
+ nen_y = %w[無 睦月 如月 弥生 卯月 皐月 水無月 文月 葉月 長月 神無月 霜月 師走][td.month]
116
+
117
+ begin
118
+ raise '「無」に辿り着いてはいけません!' if td.month.to_s.to_i.zero?
119
+
120
+
121
+ "#{nen[0]}#{td.year - 2018}年#{td.month}月 : #{nen_y}"
122
+ rescue StandardError => e
123
+ e.backtrace
124
+ end
125
+ end
126
+
127
+ def version
128
+ print '日めくり数え番号 : '
129
+ puts Himekuri::VERSION
130
+ end
131
+
132
+ def self.zella_ts
133
+ nodejs_path = "node" + " " + "#{File.dirname(__FILE__) + '/zella.js'}".to_s
134
+ stdout_js, stderr_js, status_js = Open3.capture3(nodejs_path)
135
+ stdout_js
136
+ end
137
+
138
+ def self.zella_py
139
+ nodejs_path = "python" + " " + "#{File.dirname(__FILE__) + '/timestamp.py'}".to_s
140
+ stdout_py, stderr_py, status_py = Open3.capture3(nodejs_path)
141
+ stdout_py
142
+ end
143
+
144
+ def help
145
+ puts 'HELP'.center(60, '-')
146
+ puts ''
147
+ puts 'koyomi'
148
+ puts ''
149
+ HimekuriClass.new.himekuri_print
150
+ HimekuriClass.new.count_print
151
+ HimekuriClass.new.reiwa_print
152
+ HimekuriClass.new.version
153
+ HimekuriClass.new.wahugetsu_print
154
+ puts ''
155
+ puts 'koyomi -r'
156
+ puts ''
157
+ HimekuriClass.new.himekuri_print
158
+ puts ''
159
+ puts 'koyomi -k'
160
+ puts ''
161
+ HimekuriClass.new.count_print
162
+ puts ''
163
+ puts 'koyomi -c'
164
+ puts ''
165
+ HimekuriClass.new.reiwa_print
166
+ puts ''
167
+ puts 'koyomi -v'
168
+ puts ''
169
+ HimekuriClass.new.version
170
+ puts ''
171
+ puts 'koyomi -w'
172
+ puts ''
173
+ HimekuriClass.new.wahugetsu_print
174
+ puts ''
175
+ puts 'koyomi -z'
176
+ puts ''
177
+ puts Zella.formula
178
+ puts ''
179
+ puts 'koyomi -z 2024 4 11'
180
+ puts ''
181
+ puts '2024年4月11日 : 木曜日'
182
+ puts ''
183
+ puts 'koyomi -t'
184
+ puts ''
185
+ puts HimekuriClass.zella_ts
186
+ puts ''
187
+ puts 'koyomi -p'
188
+ puts ''
189
+ puts HimekuriClass.zella_py
190
+ puts ''
191
+ puts 'HELP'.center(60, '-')
192
+ end
193
+ end
194
+
195
+ __END__
data/lib/hyaku.rb ADDED
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'require_sec_seiki'
4
+
5
+ lib = File.expand_path('txt', __dir__)
6
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
7
+
8
+ puts ''
9
+
10
+ require 'timeout'
11
+ require 'bmi'
12
+
13
+ # Hyakunin ishu search text
14
+ module Hyaku
15
+ module_function
16
+
17
+ def view
18
+ encoding_style
19
+
20
+ one = "#{File.dirname(__FILE__)}/txt/hyakunin.txt"
21
+
22
+ open(one) do |f|
23
+ while (str2 = f.gets)
24
+ str = str2.chomp!
25
+ twice = ARGV[1]
26
+ three_act = /#{twice}/o
27
+
28
+ begin
29
+ if str =~ three_act
30
+ printf('%2d : %s', f.lineno, str)
31
+ puts ''
32
+ end
33
+ rescue Timeout::Error
34
+ exit!
35
+ end
36
+ end
37
+
38
+ if f.eof?
39
+ f.close
40
+ elsif !f.eof
41
+ begin
42
+ raise Hyaku
43
+ rescue StandardError => ee
44
+ puts ee.backtrace
45
+ puts ee.backtrace_locations
46
+ exit!
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+
53
+ GC.compact
54
+
55
+ __END__