[ruby-list:591] Re: meta-level features(Re: bug? and question)
From:
matz@... (Yukihiro Matsumoto)
Date:
1996-09-26 03:19:31 UTC
List:
ruby-list #591
In message "[ruby-list:590] Re: meta-level features(Re: bug? and question)"
on 96/09/26, Keiju ISHITSUKA <keiju@shljapan.co.jp> writes:
|
|けいじゅ@SHLジャパンです.
|>まあ,そうなんですけど実行させながらいろいろオブジェクトの構
|>造をいじっても元のプログラムが変化するわけではないですよね。
|>やはり,LispやSmalltalkのような開発環境と実行環境が一体化し
|>たもののパラダイムではないでしょうか。
|
|いや. そうなんです. いいたかったのはそういう機能があれば, 一体化するこ
|とも可能かな? と思ったわけです.
うーん,rubyのような言語で一体化するメリットって見当たりませ
んね.lispやsmalltalkとは使われ方からして違うでしょう.ruby
で開発環境を書くことはあっても,実行環境は分離しておいた方が
良いように感じています.
|>|トレース機能, つまり, 1ステップ実行するとprocを実行する機能なんかもあ
|>|ると嬉しいですね. まあ, デバッガができればあまり必要ない機能になります
|>|が...
|>これはあっても良いかも知れませんね。
|
|じゃあ. お願いしちゃおうかな...
今後のデバッガの設計にもかかわってきますんで,ちょっと検討さ
せてください.
|ついでに, 現在実行しているファイルの行番号が分かる変数なんかもお願いし
|ます.
これはcaller(0)で得られます.
|>|>doesNotUnderstandでしたか?
|>|ああ. いわんとしたことが分かりました. でも, それってインチキだと思うん
|>|ですけど...
|>そうかなあ。由緒正しい方法ですし,インチキってことはないんじゃ
|>ないかと。
|
|rubyでは, どのようにするんですか? 例外をキャッチする?
存在しないメソッドを呼び出すとmethod_missingというメソッドが
呼び出されます.これのデフォルトの定義が例外を発生させていま
す.使い方はdesNotUnderstandと同じです.
tk.rbなんかこれを使っていますね.
|>面白いとは思いますけど,やはりrubyでは無理があるのでは?
|
|そうですかねえ.. どういうところが無理だと思います??
つまり上で述べたように開発環境と実行環境が一体化したモデルを
仮定しているが,現在のrubyが仮定しているモデルはそれらが分離
したモデルだし,今後も変えるつもりが無いからです.
まつもと ゆきひろ /:|)