原> まつもとさんがちゃんと答えてくれるとおもいますが、少しだけ
原> 私がお相手を、、、
				_o_

原> >   LET LOZW_sOKMsg (FIX_MESG(CATGETS LOZW_sCatName LOZW_iMsgID
原> (LOZW_sCatName + STR LOZW_iMsgID + '[' + '{1} + ']' + '[' + '{2}' + ']'))
原> LOZW_sMsgStr1 LOZW_sMsgStr2)
原> 
原> 質問です。これが ruby のソースプログラムでこれを
原> 
原> ruby <このソース>
原> 
原> として起動したときに Segmentation fault が起こるのですか?それとも
原> 他にプログラムがあってこれをデータとして食わせているのですか?
原> (めちゃめちゃ読みにくいコードですね。(^^;)

聞いてくれる。
このめちゃくちゃなコードを書かないといけない環境でここ一年物作り。
   変数は(パラメータ宣言と、local宣言以外)グローバル。
   サブルーチン名と変数名の名前空間が一緒だから、うっかりサブルーチンに
   代入すると壊れる。
	ちゅうか、変数ってのが、代入された値を返すサブルーチンなのだろう
   サブルーチンの戻り値を直接代入するとこける。
   
debug環境がまた凄くて、print にあたる display と trace だけ

ということで、ソースを喰わせて cflow 見たいな出力出して
名前の衝突やら、利用関係を見るツールを作ってる分け。rubyで。
	perl版があるんだが、逆展開にBUG があるので、作り直し。

ということで、

原> 他にプログラムがあってこれをデータとして食わせているのですか?

です

原> どっちにしろ Segmentation fault を例外としてトラップはできないと思い
原> ますが。一応バグ。

だろうなー。

原> > 	class Read_FILE <File
原> > 	    def addLine
原> > 		if bufline=@file.gets()
原> > 	print bufline,"\n"
原> > 		    @CurNr = @CurNr + 1

原> この print は File の上位クラス IO のメソッド print が呼ばれてしま
原> います。つまり self.print が実行されるのではないでしょうか。

ん?わからんぞ、だって継承してるんじゃないの?
と思ってたら、

》From: matz / caelum.co.jp (Yukihiro Matsumoto)Subject: [ruby-list:1485] Re: 例外Date: Wed, 25 Dec 96 11:58:57 JST

ま> うーん,直接的な原因は良く分かんないんですけど,根本の原因は
ま> 
ま> |	class Read_FILE <File
ま> 
ま> にあると思います.検出できないrubyが馬鹿なんですけど.これやっ
ま> ちゃうとクラスはIOのサブクラスでインスタンスの構造が通常オブ
ま> ジェクトと同じ,というインスタンスができちゃいます.これで
ま> rubyのビルトインメソッドが発狂してしまうのではないかと想像し
ま> ます.

という事ですか
ま> |質問2
ま> |   debug 用に print を入れようと思ったのですが、class のmethod の
ま> |   中で使うと
ま> |	wmrflow:92:in `print': not opened for writing
ま> |   と言われる事があります。
ま> 
ま> Fileのサブクラス内ではprintは使えません.デバッグ用には p を
ま> 使ってください.
ま> 
ま>   p bufline
ま> 
ま> で,それなりの表示が行われるはずです.

はい。

ま> # でもFileのサブクラスは作らないでくださいね.

はい。
原さんにも指摘受けて気付きました。

原> それから組み込みクラスのサブクラスではインスタンス変数(@file など。
原> 出沢さんの言うプロパティ?)は使えない事になってますが。(という話
原> 題が何度も上がってます。(^^;)

その答えをもらう質問の前にこのコードができていて、
で、今まで破綻していなかったので気付きませんでした。

ま># この件はすくなくとも検出はできるようにしたいですね.

よろしゅう。