私はかなり単純なDSLに取り組んでおり、より自然に変数を宣言して割り当てたいと考えています。自然な変数割り当てを作成する方法
GlobalMemory.init {
val1 5
val2 "some string"
}
これは、DSLを実行する単純なVMのためのものです。これはこのコードでうまく動作します
class GlobalMemory
include Singleton
def self.init &blk
GlobalMemory.instance.allocate &blk
end
def method_missing sym,*args, &blk
@segments[sym]=args[0]
end
def allocate &blk
self.instance_eval &blk
end
end
許可する方法はありますかval1=5(and val1 = 5)
?私が試してみると、method_missing
は起動せず、エラーメッセージも表示されません。