2009年02月23日

スクリプトのこと

書く書くと何度か言ってかいていない、そんな海月歩空です。こんばんは。

他の方のスクリプトを書いているブログを見て、コメント書いていたら、自分のところでなにもしていなかったことを思い出したわけです。
なので、LimeChat2のJavaScriptで、使える小技をひとつ。
(普通のJavaScriptでも使えるのですが、便利さの問題でLimeChat2向け)

LimeChat2では、”スクリプトの設定”で有効/無効が選べます。
つまり、機能ごとにファイルを区分けすることで、必要なものだけオンにすることができるのです。
これは便利!

しかし、ファイルごとを飛び越えて関数呼び出しとかはできません。
そのため、共通関数とか定数ファイルとかを別途作ることができないわけです。
これは不便!

というわけで、今回は共通関数とか定数ファイルとかを外から呼び出す方法です。


外部読み出し例
//読み込み処理
//外部ファイルオープン
var fileObj = openFile("共通関数の入ったjsファイル");
//読み込めた
if (fileObj)
{
try
{
//文字列読込
var fileStr = fileObj.readAll();
//ファイル閉じる
fileObj.close();
//関数読込(今回の注目点)
eval(fileStr);

//例えばココで読み込んだファイルからオブジェクト生成やらなにやら

//ロード成功
log("ロード成功");
}
catch(e)
{
//ファイルロードor関数読込失敗など。
//読み込む予定のファイルの関数の置き換えなどごちゃごちゃ
log("ロード失敗");
}
}
else
{
//読み込めない
//ファイルロードor関数読込失敗など。
//読み込む予定のファイルの関数の置き換えなどごちゃごちゃ
log("ファイルのっとふぁうんど");
}

(少し修正。onloadで囲んでしまうと、その中でしかできないため)
すごく単純に、”文字列を読み込んで、それをeval関数で再評価”という、よく使われる技法なんですけれどね。
ファイル間同士の行き来ができないという制限があるところでは、使い勝手がいいわけです。
というわけで、上の例をアレンジして使えば、他のファイルにある関数や定数は呼び出せるようになります。
後は、ファイル名を関数名にして、関数型プログラミング的な使用方法をするもよし。
設定ファイルを単純に取り込むのもよし。
フリーのJavaScriptファイルを取り込む形式にしておいて、取り込めば機能アップできるように編集するもよし。

eval関数が嫌いな人も多いと思いますけれど、私はスクリプトといえばevalなのです。
スクリプト好きとして愛する関数。
このevalを使ってみてください。

……というわけで、私に変な発言やらなにやらを期待しているひとは、すみません。
プログラムやらスクリプトのときはまじめな私なのです!
大好きだぁぁぁ!
posted by 海月歩空 at 00:26| Comment(0) | TrackBack(0) | プログラム

2009年02月15日

妄想練習中

ただいま脳味噌回復作業中の海月歩空です。こんばんは。

去年はいろいろとぐーたらしていたのでさびついてしまった、妄想脳を復活させるためただいま頑張り中でございます。
エロからギャグまで、こうしたら面白いんじゃないか、みたいな想像を真っ昼間から一日1時間はするような、そんな特訓。
なんて大変……!

え、妄想は楽しいじゃないか?
あ、あなたは私のお仲間なんですね。
でも、大変なのは、そこじゃないんです。

なにが一番大変かというと、妄想しているうちに「にへらー」となってしまうのを隠さないといけないということ。
そう、端から見たら、変な人になってしまうんですよ!

……いや、いつも変な人だとかはいわないでね!
自覚はなくもないけれど!
posted by 海月歩空 at 21:52| Comment(0) | TrackBack(0) | 日記

2009年02月08日

すごいごぶさターン

お久しぶりゲッツ!

……ごまかしきれない気配の海月歩空です。こんばんは。

昨年はどたばたばたんと大暴れで、ブログを書いている暇がなく……というわけでもなく、家の引っ越しをしてその後すっかり放置気味でした。
こら! 悪い子私!

小ネタは、いっぱいいろいろとあったのですが、旬物なので残念さん。
ゴーオンジャーのエキストラの人にあった話とか、いろいろあるんですけれどね。
というわけで、これからはちょくちょく書いていきたい、そう思いました。

というわけで、地味に次回からは、ネタがなくてもいろいろ書いていきたいと思います。
たとえば、去年は、文章パワーが落ちてきていたので、その分Limechat2用ダイススクリプトとかを作ったりしていました。
なので、それをアップしたり作り方を解説したりしつつブログを活性化!
javascriptタイプのダイススクリプトを書いている人はそんなにいなさそう、なのでちょっとは興味を持たれるかなーと。

……え、文章は?
そ、そのうちね……。
posted by 海月歩空 at 12:49| Comment(0) | TrackBack(0) | 日記