【AP】繰返し(repeat文) [AppleScript辞書はつくれるか?]
(* ● 繰返し文 ● *)
(* 1-1:永久ループ *)
repeat
(* 繰返したい命令文 *)
end repeat
(* このままでは"強制終了"するまで永遠に繰返し続ます *)
(* 1-2:出口付き永久ループ *)
repeat
(* 繰返したい命令文 *)
if |条件| then exit repeat
end repeat
(* |条件|がtrue(正)のときに"exit repeat"で繰返しから出る事ができる *)
(* 2-1:回数指定型繰返し文 *)
repeat |繰返し数(整数)| times
(* 繰返したい命令文 *)
end repeat
(* 指定した|繰返し数(整数)|分を1づつ増やしながら繰返します。 *)
(* 2-2:開始から終了まで指定型繰返し文1 *)
repeat with |代入値| from |開始値| to |終了値|
(* 繰返したい命令文 *)
end repeat
(* |開始値|から|終了値|を超えない値までを1づつ増やしながら結果を|代入値|に入れ繰返します。 *)
(* 2-3:開始から終了まで指定型繰返し文2 *)
repeat with |代入値| from |開始値| to |終了値| by |加算値|
(* 繰返したい命令文 *)
end repeat
(* |開始値|から|終了値|を超えない値までを|加算値|づつ増やしながら繰返します。 *)
(* 3-1:判定型繰返し文(正) *)
repeat while |条件|
(* 繰返したい命令文 *)
end repeat
(* |条件|が 『正しければ』 繰返します *)
(* 3-2:判定型繰返し文(偽) *)
repeat until |条件|
(* 繰返したい命令文 *)
end repeat
(* |条件|が 『合わなければ』 繰返します *)
(* 4:リスト参照型繰返し文 *)
repeat with |代入値| in |リスト|
(* 繰返したい命令文 *)
end repeat
(* |リスト|から1つづつ|代入値|に入れながら繰返します。 *)
●
○1-1:永久ループ
【図1-1】
実行をしても出口が無いので次に進まず 結果が表示されません。
エディター上でならば中止ボタンで停止しますが、アプリケーションにして実行すると 強制終了又はエラーを起こすまで繰返し続けます。OS Xならばまだ良いのですが OS9以前だとシステムへの影響を覚悟の上、強制終了させなければなりません。ですので、1-2のような逃げ道を用意する必要があります。
○1-2:出口付き永久ループ
repeat文の中に exit repeat を組み入れ永久ループから抜けできるようにしましたので結果が出てきました。
このように永久ループに陥らないように配慮しなければなりません。
○2-1:回数指定型繰返し文
timesと記述がありますが、時間ではなく、なぜか回数です。
指定する|繰返し数(整数)| は必ず整数でなくてはいけません。
繰返している現在の状況(何回目)を必要としない時に使うタイプです
○(* 2-2:開始から終了まで指定型繰返し文1 *)
repeat with |代入値| from |開始値| to |終了値|
○(* 2-3:開始から終了まで指定型繰返し文2 *)
repeat with |代入値| from |開始値| to |終了値| by |加算値|
|開始値| から |終了値| まで |加算値| づつ増やしながら繰返します。現在の値は |代入値| に記録されます。
|加算値| が 1 の場合は、" by |加算値| " の部分は省略できる。
ここでの |加算値| は整数値・小数値(実数)どちらでも使える。
|終了値| を超えた場合は、中身を実行せずrepeat命令は終了し次の命令へと移ります。
|加算値| にマイナス(0より小さい数)の設定をすると数の減算の繰返しが可能です。
○(* 4:リスト参照型繰返し文 *)
repeat with |代入値| in |リスト|
(* 繰返したい命令文 *)
end repeat
リスト又はレコードからアイテムを1つづつ抜き出し、そのアイテムの数だけ繰返します。
4行目repeat with obj in Object_List で前の行でレコード化したものを一つ一つ obj に呼び出し繰返
します。
5行目name of obj で呼び出したファイルの名前を取得しています。
あとはend repeatで繰返し部分のおわり、まだ繰返すアイテムが有ればrepeatの業に戻ります。
end tellで、呼び出した"Finder"を使用するのはここまでと教えています。開いたら(呼び出したら)閉じるは必ず一体です。
コメント 0