From: Yuji Shigehiro Date: 1997-10-23T21:25:19+09:00 Subject: [ruby-list:5121] Re: ruby & tk(wish) 重弘です. > Date: Thu, 23 Oct 97 06:17:14 +0900 > Subject: [ruby-list:5112] ruby & tk(wish) > Message-Id: <199710222105.GAA23042@sy.is.noda.sut.ac.jp> > ;; wishでの変数をrubyでそのまま文字列から扱える > ;; ようにできればいいなぁとか思ってます。 > ;; たとえば > ;; a = "button1"; > ;; Tk.write("button $a"); > ;; でwishでの > ;; set a "button1" > ;; button $a > ;; と同等の操作ができTk.writeでwishでの戻り値が返って > ;; くるとか、、、、、、(^^; これは, 私も考えました... 普通にオブジェクト指向的に考えると, 「wish の変数に対応するオブジェクトを作ってやって = 演算子 を再定義する」 ということになるのだと思うのですが, ruby の = は, c++ のように 「代入演算」 を行うものではなくて, 「変数の参照するオブジェクトを変更する」 ためのものなので, 再定義できません. (したがって, この方法は × だと思います.) 逆に ruby の文字列変数が Tk.write の中で評価されるときに, 対応する tcl/tk の変数に変換されるようにすれば良いのですが, そのためには, 1. 文字列クラスにそういう仕組みを追加するか, (美しくない, そもそもできるのか??) 2. wish で使う文字列オブジェクトにはそういう仕組みを追加するか, (良く理解していないのですが, 特異メソッドを使えばできるのでしょうか?) 3. やっぱり, ruby インタプリタに手を入れる必要があるのか??? 4. それとも... ---- 重弘裕二 阪大情報処理教育センター (sigehiro@rd.ecip.osaka-u.ac.jp) 阪大工情報システム白川研 (sigehiro@ise.eng.osaka-u.ac.jp)