list up propaties…プロパティをリストアップしてみる
先日からネットワークの調子がとてもおかしかったのです。
それで昨日からネットワークの物理的な部分の大掃除を行っています。足下にはうねうねとイーサケーブルが這い回っている様はとてもシュールで、しかしながらその間を圧着工具片手に走り回っているわたしはそれどころではなかったりしています。既に処分したケーブル長は数百メートルにも及びます。
ああ、今日も暑いです。
全く関係ない話ですね。今日はプロパティを調査するシンプルなスクリプトです。
オマケ的なものですが、ようやくある程度納得できるものが出来たので置いておきます。
var targetObject = prompt (‘define object’, ‘app.activeDocument.selection[0]’);
if (targetObject){
eval(‘obj=’ + targetObject);
var result = obj + ‘\n\n’;
var props = obj.reflect.properties;
props.sort();
for (i=0;i<props.length;i++){
try{
val = eval(‘obj.’ + props[i]);
result += props[i] + ” : ” + val + “\n”;
for (var a in val){
result += props[i]
+ “.” + a + ” : ” + val[a] + “\n”;
}
} catch (e) {
result += props[i] + ” : Could not correct property.\n”;
}
}
var w = new Window (“dialog”, ‘properties’);
var txbx = w.add (“edittext”, undefined, result, {
multiline: true,
scrolling: true
});
txbx.maximumSize.height = 600;
txbx.minimumSize.width = 480;
w.add (“button”, undefined, “close”, {name: “ok”});
w.show ();
}<props.length;i++){ try{="" val="eval('obj.'" +="" props[i]);="" result="" "="" :="" "\n";="" for="" (var="" a="" in="" val){="" "."="" val[a]="" }="" catch="" (e)="" {="" could="" not="" correct="" property.\n";="" var="" w="new" window="" ("dialog",="" 'properties');="" txbx="w.add" ("edittext",="" undefined,="" result,="" multiline:="" true,="" scrolling:="" true="" });="" txbx.maximumsize.height="600;" txbx.minimumsize.width="480;" w.add="" ("button",="" "close",="" {name:="" "ok"});="" w.show="" ();="" }
リフレクトオブジェクトを取り込んでソートして、さらにプロパティをリストアップしてって流れなのですが、そこは置いておいて、ウインドウの使い方が非常に気に入っています。
アラートしてみたり、ファイルに書き出したりしてみたのですがこれが一番しっくりきます。