From: rubiben Date: 2002-03-14T09:46:48+09:00 Subject: [ruby-list:34429] Re: Ruby オプション るびべん です: On Thu, 14 Mar 2002 02:11:23 +0900 Nakamura Akifumi さん wrote: > うーん。詫びる必要は無いと思いますよ。 > 「議論が」混乱することは悪いことじゃないと思うので。 > 混乱したなら更に議論すればいいのだから(^^; 賛成です。 === ちょっと出番が遅かったので議論が終わってしまったようですが、元ネタを書か れた方と同様の悩みが結構あったりします。 私なんかのアマグラマレベルでも、最近は、 デバッグしやすいように、XPっぽく(さすがにRubyUnitまでは使いませんが) 書くようにしてまして、ベタで済むよなやつでも、Class Main/def main とか 立てて、主スレッドでは、    main=Main.new    main.main(ループするようなスクリプト) とか書くよにして、別のスレッドで、 DRb.start_service('druby://localhost:5963', MyDebug.new) DRb.thread.join とかして、mydebugと通信しながらデバッグしていくと、割と手間がかからずに 暴走したときに殺したりとか楽できます。 でもって、一体どこでループしちゃってるのか?というか、今現在の時点でのい くつかのカウンタの値を外部から知りたい、、というのが悩みの種で元ネタの方 と同じです。 要はスコープの問題なんだから、 Class Main のほうで、グローバル変数使いまくりにして、外から読めるように すりゃいんですが、そうすると、(プログラムが完成して)カプセル化したとき に別の動作したりして(アマグラマの場合、無計画に count だの、iだのjだの ありきたりの識別名、結構カブって作ったりする)、何やってんだか・・・ なので、インタープリタのほうで、デバッグモードとして、スコープ違反で peepingできるようにしてもらえれば・・・・ === と思ったけど、そうすると、デバッグモードを外したとき別の動作になっちゃい ますね。ははは。何書いてるんだかわからなくなっちゃいました。 #自爆プログラムというよりはデバッガの話と考えたほうが良いですね。 るびべん。