XREA.COM Logo XREA.COM Ad

Sleipnir2スレ

13l ★:2007/01/23(火) 03:34:33 ID:???
WSHにはalert()などの手軽な出力関数がないので、いちいちalert=function(t){WScript.Echo(t);};とかやらなきゃならなくて面倒なんで、よく使う関数をライブラリ化することを思いついた。
eval((new ActiveXObject("Scripting.FileSystemObject")).OpenTextFile(basedir "lib\\Util.js",1,false).ReadAll());
のようにすることで、外部のスクリプトファイルを読み込んでその場で実行できる。
Utils.jsの中で、
function load(n){
var s;
with(new ActiveXObject("ADODB.Stream")){
Charset="_autodetect";Open();loadFromFile(n);s=ReadText();Close();
}
return(s);
}
という関数を宣言してあるので、以後は「eval(load(dir "SQL.js"));」のような記述で済むようになる。
perlのuse文だったかみたいな感じで使える。

難点は、この方法で読み込まれた関数の内部でエラーが発生したとき、具体的な行が表示されないことだ。
ライブラリ作成時のデバッグは、直接ライブラリのコードの後ろにテストコードを書いて実行してやる必要がある。
テキストとして読み込んだ後に1行ずつ細工をしてエラー位置が分かるようにすることも可能かも知れないが面倒だ。
57KB
名前: E-mail:
ファイル:
0ch BBS 2005-10-08