From: keiju@... (=?ISO-2022-JP?B?GyRCQFBETTc9PHkbKEI=?= ) Date: 1997-07-09T17:52:19+09:00 Subject: [ruby-list:3309] Re: meta programings [Re:exceptions (Re: Ver 1.1 [Re: Matrix])] けいじゅ@今はフリー(^^;;;です. In [ruby-list :03304 ] the message: "[ruby-list:3304] Re: meta programings [Re:exceptions (Re: Ver 1.1 [Re: Matrix])] ", on Jul/09 01:20(+0200) matz@caelum.co.jp (Yukihiro Matsumoto) writes: >|ですねえ... そういう実装もあるし, それ以外にMetaとかMLFとかいうモジュー >|ルのメソッドにするという実装もあるし, 各構文要素に対応するクラスを用意 >|する方法もあるしね(ObjectStore風?). > >ObjectStore風ってのは,クラスシステムに対するMOPのような,構 >文要素に対するなにか,という意味ですかね.なんかおおげさ. > >|Class/Moduleの通常のメソッドと区別するために, 一番最後のが良いかなと思っ >|ているんだけど? >これってなんかすっごいおおげさじゃないですか? >なんか斧でひげをそるような印象があるんですけど…. >持っているイメージが違うのかな? イメージが違うかも知れないっすね. 今までこの手のプログラムをやっていて めんどくさいなと思った点として, 1. あるクラスにローカルなクラスの定義 2. そうやって生成したクラスに対して, クラス定数, メソッドなどを定義する 3. メソッド定義時おける文字列操作のめんどくささ があります. 1, 2に対しては, 構文ベースでない関数ベースのAPIがあれば良いかなと感じ ています. 1. new_class = Class.new("class-name", super-class, context-class) 2. new_class.def_class_constant(:variable_name) new_class.def_method("method source") ... などなど. これらは, Classの(特異)メソッドで十分な気がします. 問題は3で, 文字列操作よりも簡単に行うには, 構文をそのままクラスとして マップした何かがあればいいかなと思ったわけです. イメージとしては, リス ト処理でLispのプログラムを作るイメージです. リスト処理に相当する元とし て構文処理かなと... # でも, そこまでしなくても良いかなあ... __ .........................................石塚 圭樹@今はフリー(^^;;... ------->>また, アドレス変わりました!! e-mail: keiju@bc.mbn.or.jp <<---