2012-04-03 11 views
0

私はディレクトリ内の複数のフォルダを開くためのスクリプトを作成していますが、それは計画どおりに機能していません。私はそれを概説して、それを実行しているコンピュータだと思ってステップを歩いてきましたが、私がそれを実行すると、結果は非常に異なります。applescript repeatループは変更をすぐに反映しますか?

リピートとリピートを多用しています。リピートは、特定の配列に何かがある限り(私はリストを意味します)、リピートは最初のリピートのINSIDEです。

ここで、repeat withループの動作の1つは、配列を変更することです。私はループを変えると思いますか?

(foldListは、B、C)は

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

私は、それが変化する端部を打つ前には "A" である第1のループを反復されないと思うだろうfoldListに1、2、3。代わりに "B"として次のループを進めるのではなく、代わりに "1"になると思います。

しかし、それを実行した場合、私は手動のウォークスルーがそんなに離れないとは思わない。だから私は、Applescriptでは、リストを変更しても、リストが置き換えられる前に、最初のリストの最後の項目でループを終了させようと、リピート中であることを前提にしています。

答えて

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 
+0

うん、それは関係なく、変更のループで継続するように、それは...に見えるあなたが任意のアイデアなぜ、またはどのようにそれを回避するを持っているのですか?ありがとう。ああ、ばかげた質問ですが、ただ明確にするために、私は再帰的ループと呼ばれることを試みていますか? – user1159454

+1

バージョン2を試してみてください... – adayzdone

+0

ありがとうございます!これは助けになった – user1159454

関連する問題