इस सटीक समस्या की खोज करने के बाद, मुझे यह book extract ऑनलाइन मिला। यह वर्तमान पुनरावृत्ति को छोड़ने और repeat
लूप के अगले पुनरावृत्ति पर सीधे कूदने के सवाल का जवाब देता है।
एप्पलस्क्रिप्ट में exit repeat
है, जो पूरी तरह से लूप को समाप्त कर देगा, शेष शेष पुनरावृत्तियों को छोड़ देगा। यह एक अनंत लूप में उपयोगी हो सकता है, लेकिन हम इस मामले में जो चाहते हैं वह नहीं है।
जाहिर है एक continue
की तरह सुविधा AppleScript में मौजूद नहीं है, लेकिन यहाँ एक चाल यह अनुकरण करने के लिए है:
set aList to {"1", "2", "3", "4", "5"}
repeat with anItem in aList -- # actual loop
repeat 1 times -- # fake loop
set value to item 1 of anItem
if value = "3" then exit repeat -- # simulated `continue`
display dialog value
end repeat
end repeat
यह 1, 2, 4 और 5 के
के लिए संवाद प्रदर्शित करेगा यहां, आपने दो लूप बनाए हैं: बाहरी लूप आपका वास्तविक पाश है, आंतरिक लूप एक लूप है जो केवल एक बार दोहराता है। exit repeat
आंतरिक पाश से बाहर निकल जाएगा, बाहरी पाश के साथ जारी: बिल्कुल वही हम क्या चाहते हैं!
जाहिर है, यदि आप इसका उपयोग करते हैं, तो आप सामान्य exit repeat
करने की क्षमता खो देंगे।
स्रोत
2009-06-23 21:10:25
उपरोक्त कोड संकलित नहीं होगा क्योंकि सेबस्क्रिप्ट में टिप्पणियां हैं - # – alexy13
एप्सस्क्रिप्ट 2.0 में # संकेतों के लिए भी अनुमति की अनुमति है: https://developer.apple.com/library/mac/documentation/applescript/ वैचारिक/सेबस्क्रिप्टलिंगगाइड/वैचारिक/ASLR_lexical_conventions.html # // apple_ref/doc/uid/TP40000983-CH214-SW8 – Joakim
कोड किसी भी तरह संकलित करेगा क्योंकि "-" सभी "#" से पहले और "-" ने हमेशा चिह्नित किया है ऐप्पलस्क्रिप्ट में टिप्पणी। –