2009-06-09 12 views
0

私は単純なプログラムで行ごとにファイルを読み込んでいますが、画面に行を印刷すると、WindowsのNetbeans 6.5.1 IDEの出力ウィンドウで最後の行を見ることができませんXPでは、 "Ruby main.rb"というコマンドラインからプログラムを直接実行すると問題はありません(最後の行が見えます)。私はRuby 1.8.6を使用しています。コード全体はRubyとNetbeansの問題

です
File.open("songs.txt","r") do |file| 
    file.each do |line| 
    print line 
    end 
end 

答えて

2

あなたが最後に1つが既に存在しない場合には改行ターミネータを追加しますputsを使用する場合、これは良い仕事しますバッファを強制的にフラッシュします。

+0

あなたが言ったように働いてくれてありがとう...;) – tuxmaul

2

私はこれまで自分で実行したことはありませんが、最後の行には末尾に改行がないため、Netbeansコンソールがその行をフラッシュしていないと思います。プログラムの最後に$stdout.flushを追加して、何が起こるかを見てください。ところで

、あなたはforeachを使用してそれを書き換えることによって、わずかにこのコードを簡素化することができます。

File.foreach("songs.txt","r") do |file| 
    print line 
end 
+0

はい、あなたは正しいですが、ここに質問を投稿する前に$ stdout.flushを試してみましたが、うまくいきませんでした。 ショートカットをありがとうbtw;) – tuxmaul