まつもと ゆきひろです.
パッケ−ジングに忙しくしています.
# でもそうそうにバグの予感.
In message "[ruby-list:1481] 例外"
on 96/12/25, Sinichiro Dezawa <dezawa / miya.fujifilm.co.jp> writes:
|
|出沢です
|
|/dsk1a/home-sys/dezawa/bin/wmrflow:125: [BUG] Segmentation fault
|Abort (core dumped)
|
|こんなんなっちゃうんです。
うーん,直接的な原因は良く分かんないんですけど,根本の原因は
| class Read_FILE <File
にあると思います.検出できないrubyが馬鹿なんですけど.これやっ
ちゃうとクラスはIOのサブクラスでインスタンスの構造が通常オブ
ジェクトと同じ,というインスタンスができちゃいます.これで
rubyのビルトインメソッドが発狂してしまうのではないかと想像し
ます.
|質問1
| これはトラップできますか? 可能なら処理終了最後の行番号を
| 表示してこけたい。
[BUG]とでるのはバグですからトラップできません.例外だったら
良かったんですけどねえ.
|質問2
| debug 用に print を入れようと思ったのですが、class のmethod の
| 中で使うと
| wmrflow:92:in `print': not opened for writing
| と言われる事があります。
Fileのサブクラス内ではprintは使えません.デバッグ用には p を
使ってください.
p bufline
で,それなりの表示が行われるはずです.
# でもFileのサブクラスは作らないでくださいね.
ついでにいうとrubyにおける継承は構造と仕様と両方を取り込んで
きちゃいますから,既存のクラスを継承するのではなく,自分でク
ラスツリーを作っちゃうのがrubyでしょう.
# この件はすくなくとも検出はできるようにしたいですね.
まつもと ゆきひろ /:|)