From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1998-03-20T16:14:05+09:00 Subject: [ruby-dev:1877] Re: [Req] __READLINE__, __FILE__ けいじゅ@日本ラショナルソフトウェアです. In [ruby-dev :01871 ] the message: "[ruby-dev:1871] Re: [Req] __ READLINE__, __FILE__ ", on Mar/20 12:28(JST) Yukihiro Matsumoto writes: >まつもと ゆきひろです >|いつでも代入できるようにしろといっているわけではなくて, eval strすると, >|__LINE__, __FILE__が意味がなくなっているなくなっているのは事実わけです >|から, 逆に設定できる方がより意味のある(ユーザに分かりやすい)数値になる >|と思いますが, いかがでしょう? > >代入ではなくてevalの中だけというのでしたら,考慮の余地はある >と思うのですが,そのためだけに無闇にオプショナル引数をふやす >のにも抵抗があります. > ># 実装が大変と言うのはこの際別にしておくとして. そんなに大変なんですか... どうやって調べているんですかね? >evalの中で__FILE__/__LINE__の表示を自動的に変えるというのは, >どのようなルールで行うのか明確になれば採用できると思います. >しかし,evalは文法ではなく単なるメソッドですから引数がリテラ >ルであるかどうかを知る方法は無いでし,「正しい」ファイル名と >行番号の情報を得るのは簡単ではないと思います. そうなんですよね. これでできることは, __FILE__="(eval)", __LINE__文字 列の最初っからにするとかですものね... eval strの時にファイル名と行番号の最初を教えてあげるhook関数を設定でき るようにするとかは? >|# でも, 実はmarshalの中では, __FILE__の操作をやっているでしょう? >えーと,してないと思うんですけど.なにかそう思える節がありま >した? tracer.rbを使っていているとき, Marshal.load中で トレースのフック関数に"-" という ファイル名が来てので引っかかったことがあります. __ ................................石塚 圭樹@日本ラショナルソフトェア... ----------------------------------->> e-mail: keiju@rational.com <<---