sheltered-girl 4.0.4.1 → 4.0.4.3

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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/.env +0 -0
  3. data/.gitignore +0 -0
  4. data/Gemfile +0 -0
  5. data/LICENSE.txt +0 -0
  6. data/README.md +0 -0
  7. data/bin/aqua +0 -0
  8. data/bin/bmi +0 -0
  9. data/bin/bmi-license +0 -0
  10. data/bin/heat +0 -0
  11. data/bin/katakana +0 -0
  12. data/bin/koyomi +0 -0
  13. data/bin/romaji +0 -0
  14. data/bin/sheltered-girl +0 -0
  15. data/bin/speak +1154 -806
  16. data/bin/tenji +0 -0
  17. data/bin/tenji_log +0 -0
  18. data/bin/tweet +0 -0
  19. data/lib/all.rb +0 -0
  20. data/lib/all_log.rb +0 -0
  21. data/lib/and.rb +0 -0
  22. data/lib/autocal.rb +0 -0
  23. data/lib/bmi.rb +0 -0
  24. data/lib/bmi_version.rb +0 -0
  25. data/lib/calendar.rb +0 -0
  26. data/lib/count.rb +0 -0
  27. data/lib/decript.rb +0 -0
  28. data/lib/druby_erb.rb +0 -0
  29. data/lib/druby_reci.rb +0 -0
  30. data/lib/feed.rb +0 -0
  31. data/lib/frame.rb +0 -0
  32. data/lib/frame_version.rb +0 -0
  33. data/lib/gc.rb +0 -0
  34. data/lib/gem_version.rb +0 -0
  35. data/lib/himekuri.rb +0 -0
  36. data/lib/himekuri_version.rb +0 -0
  37. data/lib/hyaku.rb +0 -0
  38. data/lib/install.rb +0 -0
  39. data/lib/katakana.rb +0 -0
  40. data/lib/kome.rb +0 -0
  41. data/lib/mail.rb +0 -0
  42. data/lib/match.rb +0 -0
  43. data/lib/mini.rb +0 -0
  44. data/lib/minitest/full_runner.rb +0 -0
  45. data/lib/minitest/runner.rb +0 -0
  46. data/lib/not.rb +0 -0
  47. data/lib/or.rb +0 -0
  48. data/lib/require_sec_seiki.rb +0 -0
  49. data/lib/rice.rb +0 -0
  50. data/lib/romaji.rb +0 -0
  51. data/lib/saikoro.rb +0 -0
  52. data/lib/seiki.rb +0 -0
  53. data/lib/suihan.rb +0 -0
  54. data/lib/summa.rb +0 -0
  55. data/lib/tanraku.rb +7 -0
  56. data/lib/tenji.rb +0 -0
  57. data/lib/tenji_log.rb +0 -0
  58. data/lib/timestamp.py +0 -0
  59. data/lib/title.rb +0 -0
  60. data/lib/tubuyaki.rb +0 -0
  61. data/lib/tubuyaki_memo.rb +0 -0
  62. data/lib/tweet_cmd.rb +0 -0
  63. data/lib/txt/hyakunin.txt +0 -0
  64. data/lib/version.rb +1 -1
  65. data/lib/zella.rb +0 -0
  66. data/log/tenji_a.txt +0 -0
  67. data/log/tenji_b.txt +0 -0
  68. data/log/tenji_c.txt +0 -0
  69. data/log/tenji_d.txt +0 -0
  70. data/log/tenji_e.txt +0 -0
  71. data/log/tenji_g.txt +0 -0
  72. data/log/tenji_i.txt +0 -0
  73. data/log/tenji_k.txt +0 -0
  74. data/log/tenji_t.txt +0 -0
  75. data/log/tenji_z.txt +0 -0
  76. data/req/aqua.rb +0 -0
  77. data/req/bmi.rb +0 -0
  78. data/req/frame.rb +0 -0
  79. data/req/full_run.rb +0 -0
  80. data/req/full_runner.rb +0 -0
  81. data/req/himekuri.rb +0 -0
  82. data/req/katakana.rb +0 -0
  83. data/req/koyomi.rb +0 -0
  84. data/req/mini_run.rb +0 -0
  85. data/req/romaji.rb +0 -0
  86. data/req/rubygems.rb +0 -0
  87. data/req/runner.rb +0 -0
  88. data/req/sheltered-girl.rb +0 -0
  89. data/req/{zinbeiw.rb → speak.rb} +0 -0
  90. data/req/zella.rb +0 -0
  91. data/runner/full.rb +0 -0
  92. data/runner/katakana.rb +0 -0
  93. data/runner/mini.rb +0 -0
  94. data/runner/romaji.rb +0 -0
  95. data/shell/romaji_runner_1.rb +0 -0
  96. data/shell/romaji_runner_10.rb +0 -0
  97. data/shell/romaji_runner_2.rb +0 -0
  98. data/shell/romaji_runner_3.rb +0 -0
  99. data/shell/romaji_runner_4.rb +0 -0
  100. data/shell/romaji_runner_5.rb +0 -0
  101. data/shell/romaji_runner_6.rb +0 -0
  102. data/shell/romaji_runner_7.rb +0 -0
  103. data/shell/romaji_runner_8.rb +0 -0
  104. data/shell/romaji_runner_9.rb +0 -0
  105. data/shell_ka/katakana_runner_1.rb +0 -0
  106. data/shell_ka/katakana_runner_10.rb +0 -0
  107. data/shell_ka/katakana_runner_2.rb +0 -0
  108. data/shell_ka/katakana_runner_3.rb +0 -0
  109. data/shell_ka/katakana_runner_4.rb +0 -0
  110. data/shell_ka/katakana_runner_5.rb +0 -0
  111. data/shell_ka/katakana_runner_6.rb +0 -0
  112. data/shell_ka/katakana_runner_7.rb +0 -0
  113. data/shell_ka/katakana_runner_8.rb +0 -0
  114. data/shell_ka/katakana_runner_9.rb +0 -0
  115. data/sheltered-girl.gemspec +0 -0
  116. data/wiki/README.md +6 -0
  117. metadata +3 -5
  118. data/bin/zinbeiw +0 -1083
data/bin/zinbeiw DELETED
@@ -1,1083 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- # vim: filetype=ruby
5
-
6
- require "#{File.dirname(__FILE__)}/../req/zinbeiw"
7
-
8
- lib = File.expand_path('lib', __dir__)
9
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
10
-
11
- class Emerald
12
- attr_accessor :fibonacci, :fizzbizz, :version, :kurage
13
-
14
- def version
15
- print 'Rubyのバージョン情報を出力します! : '
16
- puts RUBY_VERSION
17
- end
18
-
19
- def fibonacci
20
- puts 'フィボナッチ数列を出力します! '
21
- puts ''
22
- lo = 1
23
- hi = 1
24
- print lo
25
- print ' '
26
- while hi < 50
27
- print hi
28
- hi = lo + hi
29
- lo = hi - lo
30
- print ' '
31
- end
32
- puts ''
33
- end
34
-
35
- def fizzbizz
36
- puts 'FizzBizz問題の出力結果です!'
37
- puts ''
38
- (1..15).each do |t|
39
- if t % 15 == 0
40
- print 'FizzBizz'
41
- elsif t % 3 == 0
42
- print 'Fizz'
43
- elsif t % 5 == 0
44
- print 'Bizz'
45
- else
46
- print t
47
- end
48
- print ' '
49
- end
50
- puts ''
51
- end
52
-
53
- def kurage
54
- a = rand(15)
55
- print '~'
56
- 0.upto(a) do
57
- print '~'
58
- end
59
- puts '<コ:彡'
60
- puts ''
61
- end
62
- end
63
-
64
- saikoro = Random.rand(4)
65
- case saikoro
66
- when 2 then
67
- Emerald.new.kurage
68
- when 1 then
69
- Emerald.new.fibonacci
70
- when 0 then
71
- Emerald.new.fizzbizz
72
- else
73
- Emerald.new.version
74
- end
75
-
76
- puts ''
77
- puts 'helpを入力またはTab補完で実行しましょう!'
78
-
79
- # search words
80
-
81
- begin
82
- str = %w[sessi kashi exit help].map!(&:freeze).freeze
83
-
84
- once = %w[find delete remove rename makefolder NumberGame Encode week calendar].map!(&:freeze).freeze
85
-
86
- lucky = %w[loto6 Numbers kuji].map!(&:freeze).freeze
87
-
88
- dark = %w[OneRunner Eval output].map!(&:freeze).freeze
89
-
90
- denki = %w[Anpea Volt Rister].map!(&:freeze).freeze
91
-
92
- other = %w[weather reader atom result rss].map!(&:freeze).freeze
93
-
94
- WORDS = (str + once + lucky + dark + denki + other).map!(&:freeze).freeze
95
-
96
- Readline.completion_proc = proc { |word|
97
- WORDS.grep(/\A#{Regexp.quote word}/)
98
- }
99
-
100
- print '> '
101
-
102
- # search words exit!
103
-
104
- # Wainting Action code!
105
-
106
- while (line = Readline.readline(''))
107
-
108
- line.chomp!
109
-
110
- if line.match?(str[0])
111
- def seru(b)
112
- (b - 32) * 5 / 9
113
- end
114
- puts '華氏を入力してください!'
115
- .print '> '
116
- f = gets.to_i
117
- m = seru(f)
118
- puts "摂氏は、#{m.round}です。"
119
-
120
- print '> '
121
-
122
- elsif line.match?(str[1])
123
- def seru(b)
124
- (1.8 * b) + 32
125
- end
126
- puts '摂氏を入力してください!'
127
- print '> '
128
- f = gets.to_i
129
- m = seru(f)
130
- puts "華氏は、#{m.round}です。"
131
-
132
- print '> '
133
-
134
- elsif line.match?(str[2])
135
- exit!
136
- elsif line.match?(lucky[0])
137
-
138
- class Loto6
139
- def sum(a, b, c, d, e, f)
140
- x = Random.rand(a) + 1
141
- y = Random.rand(b) + 1
142
- z = Random.rand(c) + 1
143
- s = Random.rand(d) + 1
144
- t = Random.rand(e) + 1
145
- d = Random.rand(f) + 1
146
- [x, y, z, s, t, d]
147
- end
148
- end
149
-
150
- taka = Loto6.new
151
- n = taka.sum(43, 43, 43, 43, 43, 43)
152
-
153
- puts 'Loto6で参考にする数字をランダムで表示します!'
154
- puts ''
155
- print n
156
- print ' '
157
- puts ''
158
- puts ''
159
- puts '※当たるも八卦、当たらぬも八卦。勝負は時の運です。'
160
-
161
- print '> '
162
-
163
- elsif line.match?(lucky[1])
164
- puts 'ナンバーズで参考にする数字をランダムで表示します!'
165
- puts ''
166
- class Numbers
167
- def sum(a, b, c, d)
168
- x = Random.rand(a)
169
- y = Random.rand(b)
170
- z = Random.rand(c)
171
- s = Random.rand(d)
172
- [x, y, z, s]
173
- end
174
- end
175
-
176
- taka = Numbers.new
177
- p taka.sum(10, 10, 10, 10)
178
- puts ''
179
- puts '※当たるも八卦、当たらぬも八卦。勝負は時の運です。'
180
-
181
- print '> '
182
-
183
- elsif line.match?(lucky[2])
184
- puts '今日の運勢を占ってみましょう。'
185
- puts '大吉→中吉→吉→小吉→凶→大凶'
186
-
187
- a = rand(16)
188
-
189
- case a
190
- when 0..2
191
- puts '大吉'
192
- puts 'さぁ、外に出て頑張ろう。仕事へGo!'
193
- when 3..5
194
- puts '中吉'
195
- puts 'ほどほどな普通。ストレスと向き合え!'
196
- when 6..8
197
- puts '吉'
198
- puts 'だんだん疲れてきたんだな。ゆっくり休め!'
199
- when 9..11
200
- puts '小吉'
201
- puts 'あまりいいことがないから、ジッとしているに限る。'
202
- when 12..14
203
- puts '凶'
204
- puts 'ピンチのあとのチャンス到来。あきらめるな。'
205
- when 15..16
206
- puts '大凶'
207
- puts '今日は何かまずい気をつけろ!'
208
- else
209
- puts '数字があふれています!注意!'
210
- end
211
- print '> '
212
-
213
- elsif line.match?(dark[0])
214
-
215
- begin
216
- puts '
217
- ワンライナー、1行コードの館へようこそ。さぁ、はじめましょう!'
218
- print '> '
219
- re = gets.chomp
220
- puts ''
221
- eval(re)
222
- puts ''
223
- rescue StandardError => et
224
- p et
225
- print '> '
226
- puts 'エラーです。文字列を確認してください!'
227
- puts ''
228
- retry
229
- ensure
230
- puts '終了は exit を入力してください!'
231
- end
232
-
233
- print '> '
234
-
235
- elsif line.match?(denki[0])
236
-
237
- def anpea(a, b)
238
- b / a
239
- end
240
-
241
- puts
242
- puts '抵抗を入力してください'
243
-
244
- print '> '
245
- f = gets.to_i
246
-
247
- puts
248
- puts '電圧を入力してください'
249
- print '> '
250
-
251
- g = gets.to_i
252
-
253
- m = anpea(f, g)
254
-
255
- puts
256
- puts "電流は#{m.round}です。"
257
-
258
- print '> '
259
-
260
- elsif line.match?(denki[1])
261
-
262
- def volt(c, d)
263
- c * d
264
- end
265
-
266
- puts
267
- puts '抵抗を入力してください'
268
- print '> '
269
-
270
- h = gets.to_i
271
- puts
272
- puts '電流を入力してください'
273
-
274
- print '> '
275
- i = gets.to_i
276
-
277
- j = volt(h, i)
278
-
279
- puts
280
- puts "電圧は#{j.round}です。"
281
-
282
- print '> '
283
-
284
- elsif line.match?(denki[2])
285
-
286
- def rister(k, l)
287
- k / l
288
- end
289
-
290
- puts
291
- puts '電流を入力してください'
292
- print '> '
293
-
294
- l = gets.to_i
295
- puts
296
- puts '電圧を入力してください'
297
-
298
- print '> '
299
- k = gets.to_i
300
-
301
- q = rister(k, l)
302
-
303
- puts
304
- puts "抵抗は#{q.round}です。"
305
-
306
- print '> '
307
-
308
- # It is a help document of zinbeic.
309
-
310
- elsif line.match?(str[3])
311
-
312
- puts 'COMMAND'.center(60, '-')
313
-
314
- puts '
315
- sessi 華氏から摂氏へ変換します
316
-
317
- kashi 摂氏から華氏へ変換します
318
-
319
- kuji 今日の運勢を占います
320
-
321
- Numbers Numbers4の候補となる数字を乱数を使って出力します
322
-
323
- loto6 Loto6の候補となる数字を乱数を使って出力します
324
-
325
- OneRunner ワンライナーの館へ案内します
326
-
327
- delete ファイルを指定して削除できます
328
-
329
- find 単語を探します
330
-
331
- remove フォルダを消します
332
-
333
- rename ファイルの名前を変えます
334
-
335
- makefolder フォルダを作成します
336
-
337
- NumberGame 数字当てゲームです (乱数版)
338
-
339
- Encode 文字列のエンコードを評価します
340
-
341
- Eval eval族の館へようこそ、足し算などが行えます
342
-
343
- Anpea オームの法則を使い、電流を調べます
344
-
345
- Volt オームの法則を使い、電圧を調べます
346
-
347
- Rister オームの法則を使い、抵抗を調べます
348
-
349
- week 現在日付と曜日を表示します
350
-
351
- calendar PyCallでpythonを呼び出しカレンダー表示します
352
-
353
- output 外部コマンドを実行できます
354
- ※ ただし、入力待ちは実行できません
355
-
356
- weather zinbei2の天気機能を移植しました
357
-
358
- reader RSSの取得先からタイトル表示 (雨音から移植)
359
-
360
- atom gem install feedjira (v3.0.0~)
361
- gem install httparty
362
- atom形式のrssを読み込むことができます
363
-
364
- result rssの記号を個数としてカウントします
365
- ※ ただし、カウント後zinbeiwを終了します
366
-
367
- rss RSS投稿時間帯を判別します
368
-
369
- 終了するときは、exitと入力します'
370
-
371
- puts 'COMMAND'.center(60, '-')
372
-
373
- print '> '
374
-
375
- # It is a help document of zinbeic exit!
376
-
377
- # The command which can be called is only once.
378
- elsif line.match?(once[0])
379
-
380
- begin
381
- print '探したい文字列を入力してください: '
382
- re = gets.chomp
383
- rescue StandardError => et
384
- p et
385
- puts 'エラーです。文字列を確認してください!'
386
- retry
387
- end
388
-
389
- begin
390
- print '探したいフォルダのパスを指定してください: '
391
- fo = gets.chomp
392
- rescue StandardError => es
393
- p es
394
- puts 'エラーです。文字列を確認してください!'
395
- end
396
-
397
- begin
398
- Dir.chdir(fo)
399
- rescue Errno::EEXIST
400
- Errno::EEXIST
401
- end
402
-
403
- begin
404
- print 'ファイル名を拡張子を含んで入力してください: '
405
-
406
- filename = gets.chomp
407
- File.open(filename) do |d|
408
- puts ' '
409
-
410
- while (liner = d.gets)
411
- liner.chomp!
412
- next unless liner.match?(re)
413
- printf('%4d 行目 : %s ', d.lineno, liner)
414
- print ': Find!(発見!)'
415
- puts ' '
416
- puts ' '
417
- end
418
- end
419
- rescue StandardError => ex
420
- p ex
421
- puts 'エラーです。ファイル名を確認してください。\n'
422
- retry
423
- ensure
424
- puts '終了は exit を入力してください!'
425
- end
426
- print '> '
427
-
428
- elsif line.match?(once[1])
429
-
430
- begin
431
- print '消したいフォルダのパスを指定してください: '
432
- mo = gets.chomp
433
- rescue StandardError => es
434
- p es
435
- puts 'エラーです。文字列を確認してください!'
436
- end
437
-
438
- begin
439
- Dir.chdir(mo)
440
- rescue Errno::EEXIST
441
- Errno::EEXIST
442
- end
443
-
444
- begin
445
- print 'ファイル名を拡張子を含んで入力してください: '
446
-
447
- del = readline.chomp!
448
- File.delete(del)
449
-
450
- puts '削除しました。'
451
- rescue StandardError => ex
452
- p ex
453
- puts 'エラーです。ファイル名を確認してください。\n'
454
- retry
455
- ensure
456
- puts '終了は exit を入力してください!'
457
- end
458
- print '> '
459
-
460
- elsif line.match?(once[2])
461
-
462
- begin
463
- print '削除したいフォルダのパスを指定してください: '
464
- st = gets.chomp
465
- rescue StandardError => es
466
- p es
467
- puts 'エラーです。文字列を確認してください!'
468
- end
469
-
470
- begin
471
- Dir.chdir(st)
472
- rescue Errno::EEXIST
473
- Errno::EEXIST
474
- end
475
-
476
- begin
477
- print '削除したいフォルダ名を拡張子を含んで入力してください: '
478
-
479
- rem = readline.chomp!
480
- Dir.rmdir(rem)
481
-
482
- puts '削除しました。'
483
- rescue StandardError => ex
484
- p ex
485
- puts 'エラーです。ファイル名を確認してください。\n'
486
- retry
487
- ensure
488
- puts '終了は exit を入力してください!'
489
- end
490
- print '> '
491
- elsif line.match?(once[3])
492
-
493
- begin
494
- print '名前を変えたいフォルダのパスを指定してください: '
495
- nem = gets.chomp
496
- rescue StandardError => es
497
- p es
498
- puts 'エラーです。文字列を確認してください!'
499
- end
500
-
501
- begin
502
- Dir.chdir(nem)
503
- rescue Errno::EEXIST
504
- Errno::EEXIST
505
- end
506
-
507
- begin
508
- print '現在のファイル名を拡張子を含んで入力してください: '
509
- re = gets.chomp!
510
- rescue StandardError => ex
511
- p ex
512
- puts 'エラーです。ファイル名を確認してください。\n'
513
- retry
514
- end
515
-
516
- begin
517
- print '変更するファイル名を拡張子を含んで入力してください: '
518
-
519
- no = gets.chomp!
520
-
521
- File.rename(re, no)
522
-
523
- puts '変更しました。'
524
- rescue StandardError => ex
525
- p ex
526
- puts 'エラーです。ファイル名を確認してください。\n'
527
- retry
528
- ensure
529
- puts '終了は exit を入力してください!'
530
- end
531
-
532
- print '> '
533
- elsif line.match?(once[4])
534
-
535
- begin
536
- print '作成したいフォルダのパスを指定してください: '
537
- mk = gets.chomp
538
- rescue StandardError => es
539
- p es
540
- puts 'エラーです。文字列を確認してください!'
541
- end
542
-
543
- begin
544
- Dir.chdir(mk)
545
- rescue Errno::EEXIST
546
- Errno::EEXIST
547
- end
548
-
549
- begin
550
- print 'フォルダ名を入力してください: '
551
-
552
- ma = readline.chomp!
553
- Dir.mkdir(ma)
554
-
555
- puts '作成しました。'
556
- rescue StandardError => ex
557
- p ex
558
- puts 'エラーです。ファイル名を確認してください。\n'
559
- retry
560
- ensure
561
- puts '終了は exit を入力してください!'
562
- end
563
-
564
- print '> '
565
- elsif line.match?(once[5])
566
- begin
567
- x = SecureRandom.random_number(1..100).freeze
568
-
569
- puts ''
570
- puts '何回まで、繰り返すか指定してください (20回が限度です)'
571
- print '> '
572
- num = (gets.chomp.to_i).freeze
573
- puts "#{num}回、繰り返すまでに当ててください:"
574
- puts ''
575
- puts '1 ~ 100までの数字をいれてください、NumberGameスタート!'
576
- print '> '
577
-
578
- if num < 21
579
- num.times do |z|
580
- input_n = (gets.chomp.to_i).freeze
581
- input_m = input_n.to_s
582
-
583
- if input_n < 101
584
- if input_m.match(/^0/o)
585
- puts ''
586
- puts '0と00または空白を入力したため、終了します...'
587
- puts ''
588
- break
589
- elsif input_n < x
590
- puts 'コンピュータの選んだ数字の方が大きいため大きい数字を入力してください'
591
- print '> '
592
- elsif input_n > x
593
- puts 'コンピュータの選んだ数字の方が小さいため小さい数字を入力してください'
594
- print '> '
595
- elsif input_n == x
596
- puts ''
597
- puts 'おめでとうございます、正解です'
598
- puts ''
599
- puts "#{num}回範囲内: #{z+1}回目で正解しました"
600
- puts ''
601
- break
602
- else
603
- puts ''
604
- puts '正解は' + x.to_s + 'でした'
605
- puts ''
606
- puts '処理を終了します...'
607
- puts ''
608
- break
609
- end
610
- else
611
- puts ''
612
- puts '100を超えた数字を入力したため、終了します...'
613
- puts ''
614
- break
615
- end
616
- end
617
- else
618
- puts ''
619
- puts '繰り返す回数が20回を超えたため、終了します...'
620
- puts ''
621
- end
622
-
623
- rescue StandardError => s
624
- puts s.backtrace
625
- tanraku_execute
626
-
627
- ensure
628
- puts '正解は' + x.to_s + 'でした'
629
- puts ''
630
- puts 'お疲れさまでした、NumberGameを終了します...処理を入力してください!'
631
- print '> '
632
- end
633
-
634
- elsif line.match?(once[6])
635
- puts
636
-
637
- class Enco
638
- begin
639
- puts '文字列を入力してください'
640
- print '> '
641
- filename = gets.chomp
642
- rescue StandardError => ee
643
- p ee
644
- puts 'エラーです。文字列を確認してください!'
645
- end
646
-
647
- puts ''
648
- puts '変更前のエンコードを指定してください'
649
- puts 'ISO-2022-JP,SJIS,eucJP,UTF-8 が候補です。'
650
- print '> '
651
- befenco = gets.chomp
652
-
653
- begin
654
- puts ''
655
- puts 'エンコードを指定してください'
656
- puts 'ISO-2022-JP,SJIS,eucJP,UTF-8 が候補です。'
657
- print '> '
658
- aftenco = gets.chomp
659
- puts
660
- rescue StandardError => ed
661
- p ed
662
- puts 'エラーです。エンコーディングを確認してください!'
663
- end
664
-
665
- ut = Encoding::Converter.new(befenco, aftenco)
666
- p ut.convert(filename)
667
- ut.finish.dump
668
- puts
669
-
670
- ensure
671
- puts '終了は exit を入力してください!'
672
- puts
673
- end
674
- print '> '
675
- elsif line.match?(dark[1])
676
- begin
677
- puts 'eval族の館へようこそ!
678
- 簡単な文字列を評価してください'
679
- print '> '
680
- re = gets.chomp
681
- puts ''
682
- p eval(re)
683
- puts ''
684
- rescue StandardError => et
685
- p et
686
- print '> '
687
- puts 'エラーです。文字列を確認してください!'
688
- puts ''
689
- retry
690
- ensure
691
- puts '終了は exit を入力してください!'
692
- end
693
- print '> '
694
-
695
- elsif line.match?(dark[2])
696
- begin
697
- puts ''
698
- puts 'OUTPUT'.center(60, '-')
699
- puts ''
700
- puts '外部コマンドを実行できます!'
701
- puts ''
702
- puts 'OUTPUT'.center(60, '-')
703
- puts ''
704
- print '> '
705
- re = gets.chomp
706
- puts ''
707
- stdout, stderr, status = Open3.capture3(re)
708
- puts stdout
709
- puts ''
710
- rescue StandardError => et
711
- p et
712
- print '> '
713
- puts 'エラーです。文字列を確認してください!'
714
- puts ''
715
- retry
716
- ensure
717
- puts '終了は exit を入力してください!'
718
- end
719
- print '> '
720
-
721
- elsif line.match?(once[7])
722
- puts ''
723
- puts 'WEEK'.center(60, '-')
724
- puts ''
725
- puts '入力した日付を曜日で判定します'
726
- puts '半角数字で入力してください'
727
- puts 'それでは、スタート!'
728
- puts ''
729
- puts 'WEEK'.center(60, '-')
730
- puts ''
731
-
732
- begin
733
- puts '調べたい年を入力してください'
734
- print '> '
735
- nen = gets.chomp.to_i
736
- rescue StandardError => ee
737
- p ee
738
- puts 'エラーです。数字を確認してください!'
739
- end
740
-
741
- puts ''
742
-
743
- begin
744
- puts '調べたい月を入力してください'
745
- print '> '
746
- mon = gets.chomp.to_i
747
- rescue StandardError => ey
748
- p ey
749
- puts 'エラーです。数字を確認してください!'
750
- end
751
-
752
- puts ''
753
-
754
- begin
755
- puts '調べたい日を入力してください'
756
- print '> '
757
- days = gets.chomp.to_i
758
- rescue StandardError => ex
759
- p ex
760
- puts 'エラーです。数字を確認してください!'
761
- end
762
-
763
- puts ''
764
-
765
- t = Time.local(nen, mon, days)
766
-
767
- if t.sunday?
768
- puts "#{nen}年#{mon}月#{days}日は、日曜日です。"
769
- puts ''
770
- elsif t.monday?
771
- puts "#{nen}年#{mon}月#{days}日は、月曜日です。"
772
- puts ''
773
- elsif t.tuesday?
774
- puts "#{nen}年#{mon}月#{days}日は、火曜日です。"
775
- puts ''
776
- elsif t.wednesday?
777
- puts "#{nen}年#{mon}月#{days}日は、水曜日です。"
778
- puts ''
779
- elsif t.thursday?
780
- puts "#{nen}年#{mon}月#{days}日は、木曜日です。"
781
- puts ''
782
- elsif t.friday?
783
- puts "#{nen}年#{mon}月#{days}日は、金曜日です。"
784
- puts ''
785
- elsif t.saturday?
786
- puts "#{nen}年#{mon}月#{days}日は、土曜日です。"
787
- puts ''
788
- else
789
- puts 'ありえない曜日を指しています...終了します! '
790
- exit!
791
- end
792
-
793
- print '> '
794
-
795
- elsif line.match?(once[8])
796
- puts ''
797
- puts 'WEEK'.center(60, '-')
798
- puts ''
799
- puts '入力した日付をカレンダーで表示します'
800
- puts '半角数字で入力してください'
801
- puts 'それでは、スタート!'
802
- puts ''
803
- puts 'WEEK'.center(60, '-')
804
- puts ''
805
-
806
- begin
807
- puts '調べたい年を入力してください'
808
- print '> '
809
- nen = gets.chomp.to_i
810
- rescue StandardError => ee
811
- p ee
812
- puts 'エラーです。数字を確認してください!'
813
- end
814
-
815
- puts ''
816
-
817
- begin
818
- puts '調べたい月を入力してください'
819
- print '> '
820
- mon = gets.chomp.to_i
821
- rescue StandardError => ey
822
- p ey
823
- puts 'エラーです。数字を確認してください!'
824
- end
825
-
826
- puts ''
827
-
828
- t = Time.local(nen, mon)
829
-
830
- pyimport :calendar
831
- puts(calendar.month(nen, mon))
832
-
833
- puts ''
834
-
835
- # The command which can be called is only once.
836
- print '> '
837
-
838
- elsif line.match?(other[0])
839
-
840
- require 'net/http'
841
- require 'uri'
842
- require 'json'
843
- require 'time'
844
- require 'date'
845
- require 'rinku'
846
- require 'sanitize'
847
-
848
-
849
- text = <<-EOS
850
- ------------------------------------------------------------------------
851
-
852
- IDの詳細はこちら → https://github.com/takkii/Utakata/wiki/Utakata-wiki
853
-
854
- ※ 日本全国のIDから自分の地域IDを入力!
855
- ------------------------------------------------------------------------
856
- EOS
857
-
858
- links = Rinku.auto_link(text, mode=:all, link_attr=nil, skip_tags=nil)
859
- puts Sanitize.clean(links)
860
-
861
- begin
862
- puts '調べたい地域のIDを入力してください'
863
- puts ''
864
- print '> '
865
- ID = gets.chomp
866
- rescue StandardError => es
867
- p es
868
- puts 'エラーです。IDを確認してください!'
869
- end
870
-
871
- url = 'https://weather.tsukumijima.net/api/forecast?city=' + ID
872
- uri = URI.parse(url)
873
- json = Net::HTTP.get(uri)
874
- result = JSON.parse!(json)
875
- today_tel = result['forecasts'][0]['telop']
876
- tomor_tel = result['forecasts'][1]['telop']
877
- min_tem = result['forecasts'][1]['temperature']['min']['celsius']
878
- max_tem = result['forecasts'][1]['temperature']['max']['celsius']
879
- des = result['description']['text']
880
- des1 = result['description']['publicTime']
881
- des2 = DateTime.parse(des1)
882
-
883
- # puts result
884
- puts ' 天気予報 '.center(60, '-')
885
- puts ''
886
- puts '今日の天気は、' + today_tel + ' でしょう '
887
- puts '最低気温は、' + min_tem + '℃' + ' でしょう '
888
- puts '最高気温は、' + max_tem + '℃' + ' でしょう '
889
- puts '明日の天気は、' + tomor_tel + ' でしょう '
890
- puts ''
891
- puts ' 天気予報 '.center(60, '-')
892
- puts ''
893
- puts ''
894
- puts ' 天気概況文 '.center(60, '-')
895
- puts
896
- puts des
897
- puts ''
898
- print ' 天気概況文の発表時刻 : '
899
- puts des2.strftime('%Y年%m月%d日 %H時%M分%S秒')
900
- puts ''
901
- puts ' 天気概況文 '.center(60, '-')
902
-
903
- print '> '
904
-
905
- elsif line.match?(other[1])
906
- require 'rss'
907
- require 'date'
908
- require 'kconv'
909
-
910
- begin
911
- puts '調べたいRSSのURLを入力してください'
912
- print '> '
913
- URL = gets.chomp
914
- rescue StandardError => eq
915
- p eq
916
- puts 'エラーです。URLを確認してください!'
917
- end
918
-
919
- rss = RSS::Parser.parse(URL)
920
-
921
- puts ''
922
-
923
- rss.items.collect do |scale|
924
- puts scale.title
925
- end
926
-
927
- puts ''
928
- print '> '
929
-
930
- elsif line.match?(other[2])
931
-
932
- require 'feedjira'
933
- require 'httparty'
934
- require 'date'
935
- require 'kconv'
936
-
937
- begin
938
- puts ''
939
- puts '調べたいRSSのURLを入力してください'
940
- puts ''
941
- print '>'
942
- URL = gets.chomp
943
- rescue StandardError => es
944
- p es
945
- puts 'エラーです。URLを確認してください!'
946
- end
947
-
948
- Feedjira.logger.level = Logger::FATAL
949
- atom = HTTParty.get(URL).body
950
-
951
- Feedjira.parse(atom).entries.collect do |entry|
952
- v = /1[0-9]/
953
- w = /0[0-9]/
954
- x = /2[0-4]/
955
- s = entry.published.to_time.strftime '%H'
956
-
957
- if s.match?(v)
958
- print '#'
959
- print ' '
960
- elsif s.match?(w)
961
- print '$'
962
- print ' '
963
- elsif s.match?(x)
964
- print '@'
965
- print ' '
966
- end
967
- end
968
-
969
- puts ''
970
- print '>'
971
-
972
- elsif line.match?(other[3])
973
-
974
- begin
975
- puts 'rssの出力結果を貼り付けてください'
976
- print '>'
977
- re = gets.chomp
978
- rescue StandardError => ee
979
- p ee
980
- puts 'エラーです。数字を確認してください!'
981
- end
982
-
983
- puts 'ログの最近の投稿時間を判別します...'
984
-
985
- str = re.split('')
986
-
987
- puts ''
988
- print '20~24時に投稿した回数は...'
989
- print str.count('@')
990
- puts ' 回あります'
991
- print '0時から9時に投稿した回数は...'
992
- print str.count('$')
993
- puts ' 回あります'
994
- print '10時から19時に投稿した回数は...'
995
- print str.count('#')
996
- puts ' 回あります'
997
-
998
- puts ''
999
- enum = [str.count('@'), str.count('$'), str.count('#')]
1000
-
1001
- q = enum.max
1002
- t = enum.min
1003
-
1004
- puts '最も多い数字は ' + q.to_s + ' 回です'
1005
- puts '最も少ない数字は ' + t.to_s + ' 回です'
1006
-
1007
- puts ''
1008
- print '合計 '
1009
- print str.count('@') + str.count('$') + str.count('#')
1010
- puts ' 回です'
1011
- puts ''
1012
-
1013
- exit!
1014
-
1015
- elsif line.match?(other[4])
1016
-
1017
- require 'rss'
1018
- require 'date'
1019
- require 'kconv'
1020
-
1021
- # date = Time.new.strftime('現在時刻 : %Y年%m月%d日 %H時%M分')
1022
-
1023
- begin
1024
- puts '調べたいRSSのURLを入力してください'
1025
- print '>'
1026
- URL = gets.chomp
1027
- rescue StandardError => es
1028
- p es
1029
- puts 'エラーです。URLを確認してください!'
1030
- end
1031
-
1032
- rss = RSS::Parser.parse(URL)
1033
-
1034
- rss.items.collect do |scale|
1035
- # puts scale.pubDate.strftime '投稿時刻 : %Y年%m月%d日 %H時%M分'
1036
- # scale.pubDate.strftime '%H'
1037
-
1038
- v = /1[0-9]/
1039
- w = /0[0-9]/
1040
- x = /2[0-4]/
1041
- s = scale.pubDate.strftime '%H'
1042
-
1043
- if s.match?(v)
1044
- print '#'
1045
- print ' '
1046
- elsif s.match?(w)
1047
- print '$'
1048
- print ' '
1049
- elsif s.match?(x)
1050
- print '@'
1051
- print ' '
1052
- # print ' '
1053
- # puts scale.title
1054
- # puts scale.link
1055
- # puts scale.description
1056
- # print ' '
1057
- end
1058
- end
1059
- puts ''
1060
- print '>'
1061
-
1062
- else
1063
- puts "Can't Enter this Words. Please input help"
1064
- print '> '
1065
- end
1066
- end
1067
- # Wainting Action Code exit!
1068
-
1069
- # Exception throw!
1070
- rescue StandardError => ex
1071
- p ex
1072
- puts 'エラーです。文字列を確認してください!'
1073
- retry
1074
- print '> '
1075
-
1076
- # Ruby ensure is Java Exception of finally.
1077
- ensure
1078
- puts '終了は exit を入力してください!'
1079
- end
1080
-
1081
- GC.compact
1082
-
1083
- __END__