2004-08-01から1ヶ月間の記事一覧

[JavaScript] (mozilla)

var code = uneval(this["function_name"]) code = code.replace("...", "...") // codeを編集 this["function_name"] = eval("(" + code + ")") uneval/evalを使って、macroの様な事が出来る。 これの応用でJavaScriptで継続を実装なんてデモがあった。LISP…

[PrUnit]

ソースを全部張り付けるには多き過ぎたので、 "test"で始まるメソッドを呼び出す処理の部分のみ。 def run(): for attrs in self.attrs_.items(): name = attrs[0] func = attrs[1] if name[:4] == "test": self.setUp() func{self}() # or self.attrs_[func…

About prototype base ...

Prothonの場合、 ClassとObjectだけでなく、ClassとModuleの区別もないようなきがする。 例えば、aspect.prに通常の関数として定義するだけで、 import 先からは aspect(class)のメソッドして扱う事も出来る。 Pythonではimportする名前はmodule名になる。

[AOP][Prothon]

Inspirated by http://www.jroller.com/comments/deep?anchor=aop_fun_with_javascript ( JavaScriptによるAspectの実装方法。)同じプロトタイプベースと言うことで、Prothonでも実装できないかなと考えてみた。 コードは prothon 0.1.2 向け。(APIはまだ安…