From: matz@... (Yukihiro Matsumoto) Date: 1998-03-20T12:28:50+09:00 Subject: [ruby-dev:1871] Re: [Req] __READLINE__, __FILE__ まつもと ゆきひろです In message "[ruby-dev:1870] Re: [Req] __READLINE__, __FILE__" on 98/03/20, 石塚圭樹 writes: |けいじゅ@日本ラショナルソフトウェアです. |>| __LINE__ |>| __FILE__ |>| |>|が変更できると非常に嬉しいのですが... |>だめ.これらは定数(正確には疑似変数)です. | |だめ... いつになく厳しいお言葉... |# いつもなら話しだけでも聞いてくれるのに(;_; | |いつでも代入できるようにしろといっているわけではなくて, eval strすると, |__LINE__, __FILE__が意味がなくなっているなくなっているのは事実わけです |から, 逆に設定できる方がより意味のある(ユーザに分かりやすい)数値になる |と思いますが, いかがでしょう? 代入ではなくてevalの中だけというのでしたら,考慮の余地はある と思うのですが,そのためだけに無闇にオプショナル引数をふやす のにも抵抗があります. # 実装が大変と言うのはこの際別にしておくとして. |または, eval中の__FILE__/__LINE__の表示を自動的に変えてもらっても良い |です. でも, evalに文字リテラルを渡すと正しいから... eval strのように変 |数を渡した時, だけ変えるって感じですか... evalの中で__FILE__/__LINE__の表示を自動的に変えるというのは, どのようなルールで行うのか明確になれば採用できると思います. しかし,evalは文法ではなく単なるメソッドですから引数がリテラ ルであるかどうかを知る方法は無いでし,「正しい」ファイル名と 行番号の情報を得るのは簡単ではないと思います. |# でも, 実はmarshalの中では, __FILE__の操作をやっているでしょう? えーと,してないと思うんですけど.なにかそう思える節がありま した? まつもと ゆきひろ /:|)