[687] Re:正規表現関連の関数の質問
投稿者:(ぱ)
2007/02/20 02:13:25
補遺。
>現状のcrowbarには、名前空間を分割する機能がないので、今回はreg_で
>逃げたわけです。モジュールによる名前空間の分割はいずれそのうちやろうと
>思っていますから、現時点で、Lua的な方法(crowbarでやるなら、グローバルな
>stringというオブジェクトにクロージャを格納することになるのでしょう)で
>解決しようとは思いません。
crowbarの場合、スコープチェーンは「最上位の関数の中」までで止まっていますが、
これをグローバルな領域まで広げ、グローバルな名前空間もassocで表現するようにして、
グローバル変数もそのassocに、またグローバルな関数はクロージャとして
格納するようにすれば、名前空間の考え方が統一されるとともに、
モジュールが欲しければトップレベルのオブジェクトをモジュールとして考えればよい、
ということになります。実際JavaScriptはそんな感じになっています。
crowbarがそうなっていないのは、ver.0.1からの流れ、というのも否定できないですが、
printに代入できるのはいかがなものか、とか、名前空間はやっぱり静的なほうが
わかりやすいんじゃないか、とか、グローバル変数とローカル変数は分けて考える
べきじゃないか、とか、いろいろ考えてこうなっています。この選択が正しかったか
どうかはよくわかりませんが。
このへんはいずれ「crowbarプログラマのためのJavaScript入門」(仮題)で
書こうかと思っています。
# タイトルはネタなのであまり怒らないように。