トップ «前の日記(2009-03-12) 最新 次の日記(2009-03-18)» 編集

Route 477



2009-03-16

[biwascheme][javascript] 'new'をメタプログラミングするにはeval使うしかないのだろうか

BiwaSchemeで、

 (js-new "Date" 2008 0 0)

とすると JavaScriptの

 new Date(2008, 0, 0);

相当になるという機能があるんですが、実装が嫌な感じで、 "new Date(2008,0,0)" という文字列を作ってからそれをevalするようになっている。 (だから、 (js-new "Date" year) とか、schemeの変数をnewに渡したりするのがめんどい)

普通の関数なら func.apply(args) とかやればいいわけだけど、newはなんとかならないんですかね?

本日のツッコミ(全1件) [ツッコミを入れる]
hoge1e3 (2009-03-17 12:45)

ここにある方法で,ユーザ定義のクラスならいけますが,やはりDateのような組み込みクラスでは失敗しました.<br>http://nanto.asablo.jp/blog/2005/10/24/118564