ExtendScriptの#includeって、案外自由度が高くて、
①行頭でさえあればどこに書いてもよく、書いた場所にインクルードしたファイルの内容が展開される。
②インクルードする側、される側のコードがそれぞれJavascriptのコードとして成立していなくてもいい(インクルード後に成立していれば)
という特徴があります。
①は割と重要です。ひょっとしたら#includeは冒頭に書かなきゃいけないと思ってる方もいるのではと思いますが、たとえば
(function (){
#include "nanka.jsx"
…
})()
のように書けば、nanka.jsxを関数内のローカルスコープで読み込むことができます。
②はどういうことかと言うと、たとえば、
alert(1
という")"が抜けたコードがあって、
)
という1文字だけのテキストファイルkakkotoji.txtがあったとして、
alert(1
#include "kakkotoji.txt"
を実行すれば、
alert(1
)
と同じになって1がアラートされるのです(kakkotoji.txtは実行するjsxファイルと同じフォルダに入れます)。
だからどうしたという感じですが…
唯一役に立ちそうな使い道として思いついたのが、jsonファイルの読み込みです。
ExtendScriptのオブジェクトとしてそのまま読めるようなjsonファイルであれば、
var hoge=
#include "hoge.json"
とするだけで、変数hogeにhoge.jsonをパースしたオブジェクトが入ります。
他になんか面白い使い道思いついた方は教えてくださーい
PR