Ruby 1.8.7ではThread クラスを拡張しようとしています ここにスニペットがあります
class Foo < Thread
attr_accessor :bar
end
t = Foo.new do
puts "Foo thread begins"
self.bar = "Bar value" # also tried @bar
sleep(2)
puts "Foo thread ends"
end
puts "Value: #{t.bar}"
sleep(10)
puts "Value: #{t.bar}"
出力は
>Foo thread begins
>Value:
>Foo thread ends
>Value:
クラス:bar
の属性を表示できないのはなぜですか? これはおそらくこのように動作するように作られていないので、新しく作成したものからスレッドFoo
に値を渡すにはどうすればよいですか?Thread
main
ありがとうございました