内部で呼び出さ...スレッド出力する際の印刷/プット簡単なアニメーションシェルスピナー男を作成での私の試みスレッド
STDOUT.sync
# spinner stuff
spinner_running = false
chars = ['|', '/', '-', '\\']
@spinner = Thread.new do
loop do
unless spinner_running
Thread.stop
print "\b"
end
print chars[0]
sleep(1)
print "\b"
chars.push chars.shift
end
end
def start_spinner
spinner_running = true
@spinner.wakeup
end
def stop_spinner
spinner_running = false
end
print ".......X"
start_spinner()
sleep(5)
stop_spinner()
は単純なスピナーを作成しようとしている、とはい、私は、そのための宝石があります知っています...
このコードで実行中のスピナーの進捗状況を確認できないのはなぜですか?
電流出力:ruby spinner.rb
.......X< new prompt (no new line) >
はい、これは何が間違っていたかの中心にあります。スレッドで暗黙的にエラーが発生していたスコープエラーがありました...これらのエラーをスレッドで検出する方法はありますか? – jondavidjohn
私はスレッドが失敗したとは思わない - それはまさにあなたが言ったことをした! – Russell
ええと、スレッドがエラーを検出する方法は考えられませんが、プラスの側面では、この特定のバグはテストでうまく動作せず、次に生産で失敗することはありません。 – Russell