0

ディレクトリ内の複数のフォルダを開くためのスクリプトを作成していますが、計画どおりに機能していません。私はそれを概説し、私がそれを実行しているコンピューターであるふりをしてステップを1つずつ歩いてみましたが、実行すると結果は大きく異なります。

リピートとリピートをたくさん使っています。リピートは、特定の配列(つまりリスト)に何かがある限り繰り返され、最初のリピートの内側にあるリピートは、その時点で配列内のすべてのもので独自のループを繰り返します。

ここで、repeat with loopのアクションの1つは、配列を変更することです。どちらがループを変えると思いますか?

(foldListはA、B、Cです)

repeat until {}
repeat with folder_name in foldList
do something
set foldList to 1, 2, 3
end repeat
end repeat

私が考えるのは、最初のループを「A」として繰り返すことですが、最後に到達する前に、foldListを1、2、3に変更します。したがって、次のループを「B」として実行する代わりに、代わりに「1」になります。

しかし、それが行われた場合、手動のウォークスルーがそれほどずれることはないと思います。だから私は、Applescriptであなたが繰り返しているとき、リストを変更するかどうかに関係なく、最初のリストの最後の項目(リストが置き換えられる前)でそのループを終了すると仮定しています。これは正しいですか?

4

1 に答える 1

1

これは、各ループの値を見つけるのに役立ちます。

set foldList to {"A", "B", "C"}
repeat 3 times
repeat with folder_name in foldList
    display dialog folder_name
    set foldList to {1, 2, 3}
end repeat
end repeat

バージョン2:

set foldList to {"A", "B", "C"}
repeat 3 times
repeat with i from 1 to count of foldList
    display dialog item i of foldList
    set foldList to {1, 2, 3}
end repeat
end repeat
于 2012-04-03T23:17:18.643 に答える