トップ «前の日記(2004-10-11) 最新 次の日記(2004-11-01)» 編集 RDF

雄也の?日坊主日記


2004-10-13

_ [software] FreeRIDE on Windows

FXRuby の FXApp#addInput (select(2) みたいなやつ)が 期待通りに動かないため, プログラムが自分で終了した場合に出力表示ができなかった. (gets とかでプログラムを止めておいて,ストップさせればそのときに表示される.)

以下のパッチによってプログラムの終了時に Output View に出力されるようになるけどなんだかなあ.

まつもとさんは「標準入出力があればいい」と言われたので, 最初から標準入力が使えない FreeRIDE はやめにしました. こちらであわせるとも言われたけども, IDE のせいで制限されるのはなにかが狂っている.

というわけで結局のところ, Ruby ではテキストエディタ + 端末が最高の開発環境なのだろう.

patch
--- plugins/rubyide_tools_fox_script_runner/script_runner.rb.orig	2004-10-01 06:22:22.000000000 +0900
+++ plugins/rubyide_tools_fox_script_runner/script_runner.rb	2004-10-13 19:38:31.000000000 +0900
@@ -136,6 +136,17 @@
       attach_stdout(@out)
       attach_stdin(@inp)

+      Thread.start do
+        begin
+          Process.kill(0, @pid)
+          sleep(0.1)
+          retry
+        rescue Errno::ESRCH
+        ensure
+          stop
+        end
+      end
+
       @inp.print "go\n" # resume remote process

       @previous_trap_handler = trap("SIGINT") do
@@ -227,7 +238,7 @@
     def detach_stdout(fh)
       if fh
 	begin
-	  print_stdout(fh.sysread(100000)); # flush stdout
+	  print_stdout(fh.sysread(100000).gsub!(/SS TT OO PP/,'')); # flush stdout
 	rescue EOFError
 	  # Do nothing
 	end
本日のツッコミ(全5件) [ツッコミを入れる]
_ ささだ (2004-11-02 08:00)

テキストエディタだけで端末は要らないんじゃないかと思う今日この頃です。xyzzy で、ワンアクションで別バッファにその出力を表示最強。cgi とかだとそういうわけにはいきませんが。

_ yuya (2004-11-02 11:32)

Emacs とか Emacs もどきとかって単体で テキストエディタ + 端末 を実現しているような気も... :><br>僕の場合だと XEmacs を使っているので,M-x compile を呼んでインタープリタを動かしてますね.こうすると syntax error とかのときに C-x ` で該当箇所に飛んでくれます(TestUnit を使ったときは飛べなかったかも,出力の違いだけなんですが).<br>CGI だと M-x compile のミニバッファで env -- REQUEST_METHOD=GET QUERY_STRING='なんたらかんたら' ruby ... みたいになりそうですね.<br>あ,ちなみに M-x compile はタイプ数が多いので,実際は ruby-mode のときに C-c C-f に割当ててます.

_ shugo (2004-11-02 16:59)

でもEmacsのshell-modeっていまいちだよね。

_ yuya (2004-11-02 17:07)

ruby -e 'p [$stdin.tty?, $stdout.tty?, $stderr.tty?]' は一応 [true, true, true] にはなるんですけど,端末っぽくはないですね.<br>まあ,Ruby インタープリタが動かせるからいいやということで...

_ ささだ (2004-11-02 19:22)

xyzzy だと F10 でエラー箇所へジャンプ。<br><br>CGI はそういえば環境変数でなんかいけたんだっけ。忘れてました。<br><br>私は C-2。


2004|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|
2006|05|
2007|04|05|09|10|11|
2008|04|05|08|10|11|
2009|02|03|04|05|06|07|08|09|10|11|
2010|02|03|04|07|10|
2011|04|08|
2012|02|10|
2014|05|06|08|
2018|03|
楽天で探す
楽天市場
キーワードから探す
楽天トラベル