各プログラム中でしようされている変数名などで共通のものがあるために、同時にサンプルプログラムを利用する際に干渉しないようにするためのものです。初心者にとっては分かったような分からんような説明です。
(function( ){ })( ) と function( ){ }( )には
function( ) { } が式ではなく、文として解釈されてしまう。だとありますが、イマイチよく分かりません。
(function( ){ })( ) だと式になる。
var b = function() { } ()な記述も可能。
で、JavaScriptの先人たちのScriptを見ますと function と書いている人もいれば (function(){})() と書いている人もいます。functionと記述されたスクリプトは (function(){})() と書くこともできそうな予感。とりあえずチャレンジ。
var selObj = app. activeDocument. selection;functionとforを流れで理解するに出てくる変数の前にvarを付けてませんでしたので修正。
for (var i =0; i<selObj. length; i++)
{
KozG (i) ;
}
function KozG (No){
var tObj = app. activeDocument. selection[No];
tObj. paragraphs [0]. appliedFont = "小塚ゴシック Pro";
}
varははじめて登場する変数の前につける約束事です。
とりあえず適当にやってみる^^
(function (){げっ、動いちまったぜ。。。思ったよりも簡単なのかもしれない。
var selObj = app. activeDocument. selection;
for (var i =0; i<selObj. length; i++)
{
var tObj = app. activeDocument. selection[i];
{
tObj. paragraphs [0]. appliedFont = "小塚ゴシック Pro";
}
}
})();
(function( ){ })( )を分解してみる。
(function( ){処理リストの取得 {処理リスト {処理}} })( )引数や関数が苦手な自分は function ⇔ (function( ){ })( ) にすることで慣れた方がいいのかもしれない。
人様の書いたスクリプトを読んでもfunctionやforが使われていると7-8行で頭が痛くなり、それ以上読めない。webや本に載っているものはfunctionやforが使われている。前回の日記にある
//テキストフレームの最初の段落書体を小塚ゴシックに変更するはお目にかかったことがない。しかし、ここが原点。
var tObj = app. activeDocument. selection[0];
tObj. paragraphs [0]. appliedFont = "小塚ゴシック Pro";
tObj = app. activeDocument. selection[1];
tObj. paragraphs [0]. appliedFont = "小塚ゴシック Pro";
tObj = app. activeDocument. selection[2];
tObj. paragraphs [0]. appliedFont = "小塚ゴシック Pro";
tObj = app. activeDocument. selection[3];
tObj. paragraphs [0]. appliedFont = "小塚ゴシック Pro";
要は何をしたいか(ここではtObj. paragraphs [0]. appliedFont = "小塚ゴシック Pro";)。しかし、そこに辿り付くまでにエラー処理文などが入ってくると読んでいる途中で投げ出してしまう。
思い出すとアチキが最初に作ったperlはPDFに埋め込むことの出来ないATM版Dynaフォントが使われているデータを書き出したpsにPerlでCID版Dynaに置き換えて埋め込むようにしたものだった。
で、最初はs/ATM版Dynafont名/CID版Dyna名/g;とやり、正規表現が分からなかったので100書体以上のPS書体名を書いた。上の文でいえばtObj = app. activeDocument. selection[100];まで書いたと同じ。
var tObj = app. activeDocument. selection[0];
tObj. paragraphs [0]. appliedFont = "小塚ゴシック Pro";
が骨格、あとは肉付け。骨格をしっかり掴みさえすれば、肉付けは当人のレベルにあったやりかた(functionやforを使わない)から入ってもいいんじゃないかと思う。
0 件のコメント:
コメントを投稿