コードは次のとおりです。
while 1
input = gets
puts input
end
これが私がやりたいことですが、その方法がわかりません。コードの複数のインスタンスを作成してバックグラウンドで実行し、特定のインスタンスに入力を渡すことができるようにしたいです。
Q1: バックグラウンドでスクリプトの複数のインスタンスを実行するにはどうすればよいですか?
Q2: スクリプトの個々のインスタンスを参照して、インスタンスに入力を渡すにはどうすればよいですか (Q3)?
Q3: スクリプトは cmd "gets" を使用して入力を受け取ります。入力を個々のスクリプトの get に渡すにはどうすればよいですか?
例えば
バックグラウンドでコードの 3 つのインスタンスを実行していて、そのインスタンスをそれぞれ #1、#2、および #3 と呼んでいるとします。私は #1 に "hello" を渡し、#1 は "hello" を画面に表示します。次に、#3 に "world" を渡し、#3 が "hello" を画面に表示します。
ありがとう!
更新:自分の質問に答えました。この素晴らしいチュートリアルを見つけました: http://rubylearning.com/satishtalim/ruby_threads.htmlとリソースはこちら: http://www.ruby-doc.org/core/classes/Thread.html#M000826 .
puts Thread.main
x = Thread.new{loop{puts 'x'; puts gets; Thread.stop}}
y = Thread.new{loop{puts 'y'; puts gets; Thread.stop}}
z = Thread.new{loop{puts 'z'; puts gets; Thread.stop}}
while x.status != "sleep" and y.status != "sleep" and z.status !="sleep"
sleep(1)
end
Thread.list.each {|thr| p thr }
x.run
x.join
みんな助けてくれてありがとう!私の考えを明確にしてくれました。