This repository has been archived by the owner on Oct 18, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathkatakana_runner.rb
110 lines (85 loc) · 2.91 KB
/
katakana_runner.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
# frozen_string_literal: true
require "#{File.dirname(__FILE__)}/req/katakana"
# Katakana Runner
class KatakanaRunner
def self.run1
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_1.rb")
puts stdout_rb
end
def self.run2
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_2.rb")
puts stdout_rb
end
def self.run3
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_3.rb")
puts stdout_rb
end
def self.run4
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_4.rb")
puts stdout_rb
end
def self.run5
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_5.rb")
puts stdout_rb
end
def self.run6
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_6.rb")
puts stdout_rb
end
def self.run7
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_7.rb")
puts stdout_rb
end
def self.run8
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_8.rb")
puts stdout_rb
end
def self.run9
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_9.rb")
puts stdout_rb
end
def self.run10
encoding_style
stdout_rb, _stderr_rb, _status_rb = Open3.capture3("ruby #{File.dirname(__FILE__)}/shell_ka/katakana_runner_10.rb")
puts stdout_rb
end
end
begin
puts ''
puts 'Katakana Runner Stop is Ctrl and C, Please Input.'
puts ''
Thread.current.report_on_exception = false
threads = []
threads << Thread.start(KatakanaRunner.run1) { |r1| r1 }
threads << Thread.start(KatakanaRunner.run2) { |r2| r2 }
threads << Thread.start(KatakanaRunner.run3) { |r3| r3 }
threads << Thread.start(KatakanaRunner.run4) { |r4| r4 }
threads << Thread.start(KatakanaRunner.run5) { |r5| r5 }
threads << Thread.start(KatakanaRunner.run6) { |r6| r6 }
threads << Thread.start(KatakanaRunner.run7) { |r7| r7 }
threads << Thread.start(KatakanaRunner.run8) { |r8| r8 }
threads << Thread.start(KatakanaRunner.run9) { |r9| r9 }
threads << Thread.start(KatakanaRunner.run10) { |r10| r10 }
threads.each { |thr| thr.join.value }
rescue StandardError => e
puts e.backtrace
encodig_style.tanraku_exit
rescue Interrupt
# [result] false ↔ [default] true
# puts Thread.current.report_on_exception
puts ''
puts 'Katakana Runner is Stopped.'
puts ''
ensure
GC.compact
end
__END__