インクルードしたい

Rダイスのサブファンクション部分はRダイスを振る以外にいぬいへ転用してたりします。
ということは、元のRダイスから該当部分をいぬいへコピペしてるわけで。
ということはサブファンクション部分に間違いがあった場合、いちいちコピペしなおさなければならないわけで。
これは面倒、ということでインクルードする方法を調べてみました。

JavaScriptのマニュアル

には、インクルード命令はありませんでしたorz
Ver2.0からは採用されるってどっかでちょろっと見たのですが、現行の1.5にはないみたいです。残念。


ところで、最近JavaScript リファレンス - JavaScript | MDNのページが片っ端から「(There is currently no text in this page)」と出るのですが(代入演算子みたいなのでも!)、いったい何事でしょう?

.write

検索の結果、JSファイルにJSファイルをインクルードする:ナナイさんメモ:So-netブログというページを見つけました。
何をしてるのかいまいちよく分からないんですが、.writeメソッドというのが、『ドキュメントに文字列を書き出す』メソッドらしいです。
これを利用して、他のファイルのJSスクリプトを呼び出し元に書き出しちゃおう、と、たぶんこれはそういう意味じゃないかと。


しかしこれはダメみたいです。LimeChatではまた別の方法を考えないといけないっぽい。

eval()を使用する方法。

……というところで。
すでにブクマしてますが、海月歩空様がhttp://jerryfish.sblo.jp/article/27092987.htmlにてLimeChat2でインクルードできる方法を公開してくださってました。
し、しかしeval()……これは心理的抵抗が大きい。


実はeval()は別件で使用を考えたことがあります。のでその時ちょっとだけ調べました。
自分のつたない理解だと()内に入れた文字列をJavaScriptの命令として解釈し、実行してくれる命令。のようなのですが。
……てことは悪意ある文字列に弱いって言う気がひしひしと。
こういう関数が用意されてるってことは、何かしらのニーズがあってのことだと思うのですが、どうにもSQLインジェクションと同じにおいを感じて手を出す気になれません。むむう。

ちなみにeval()については

404 Blog Not Found:javascript - eval(insecure.code).safely with(jail); //でもIEがにていろいろデモが公開されてました。……半分どころか10分の1も何してるのか分かりませんが!(泣)