Use Repeat actions in Shortcuts
Az Ismétlés művelet és az Ismétlés mindegyikkel művelet lehetővé teszi, hogy többször egymás után futtassa műveletek csoportját egy parancsban.
Using the Repeat action
When you add a Repeat action to your shortcut, the action includes two markers: Repeat (not visible as a separate tag) and End Repeat. Place the actions that you want to repeat between the Repeat and End Repeat markers, then specify the number of times you want the action to repeat. When the shortcut runs, the actions placed between the markers loop the number of times that you specify.
Például egy ismétlési ciklus, amely egy Ismétlés 3-szor értékre állított Eszköz rezegtetése műveletet tartalmaz, az iOS-eszköze háromszor fog rezegni a futtatáskor.
You can place unlimited actions within a repeat loop. The actions run in order (from top to bottom), and when the last action is reached, the shortcut loops back to the first action, then runs again (the specified number of times).
Tipp: You can place Repeat actions within each other in your shortcut: A parancsszerkesztőben húzzon úgy egy második Ismétlés műveletet, hogy az átfedje az első Ismétlés művelet alsó részét. A második Ismétlés művelet be van ágyazva (be van húzva) az első Ismétlés művelet alatt.
Az Ismétlés művelet bemeneti adatfolyamáról
When you pass input into the Repeat action, that same input is passed into the beginning of the loop with each iteration. Ha például egy parancs egy Szöveg műveletet tartalmaz, amelyet egy Szöveg felolvasása ismétlési ciklus követ, akkor a parancs ugyanazt a szöveget olvassa fel többször.
Az ismétlési ciklus minden iterációjában az utolsó művelet kimenete egy listában van összegyűjtve, és ez a lista lesz az Ismétlés művelet teljes kimenete.
Például az Ismétlés művelet, amely négyszer lefut, és tartalmazza a Legújabb fotók lekérése műveletet a ciklus minden iterációjában a kimenetében átadja a Fotók alkalmazásban legutóbb menett képeket. A négy iteráció futása után a kimenetek csoportosítva lesznek, és létrejön egy négy azonos fotóból álló lista. A négy fotó együttesen lesz az Ismétlés művelet kimenete, majd át lesznek adva a következő műveletnek az ismétlési ciklus után.
To learn more about the flow of inputs and outputs, see Hogyan működnek a parancsok?
Tipp: Tap the empty space to the left of the plus (+) and minus (–) buttons to set the number of repetitions to a variable. For example, if you add the Ask When Run variable to the Repeat parameter in the Repeat action, you’ll be asked to choose how many times the loop should repeat when the shortcut is run.
Az Ismétlés mindegyikkel művelet használata
Az Ismétlés mindegyikkel művelet egy elemekből álló listát vesz bemenetként, majd minden egyes listaelem esetében egyszer lefuttatja ugyanazt a műveletet. This is useful if you’re working with multiple files or with multiple pieces of content. Ez ilyen típusú ciklus addig ismétlődik, amíg minden elem át nincs adva az Ismétlés mindegyikkel művelet iterációiban.
Ha például beállított egy Közelgő események lekérése műveletet a következő négy közelgő Naptár-esemény lekéréséhez, és egy Ismétlés mindegyikkel műveletet helyez a művelet után, akkor az ismétlési ciklus négyszer lefut, és minden iteráció megkapja a Naptár-események egyikét bemenetként.
When you add a Repeat with Each action to your shortcut, the action includes two markers: Repeat with Each (not visible as a separate tag) and End Repeat.
Minden ismétlési ciklus végén a kimenet át van adva az Ismétlés befejezése jelölőnek az egyes iterációk összegyűjtése során, és együttesen vannak átadva az Ismétlés mindegyikkel művelet kimeneteként.
Az Elem ismétlése változó
Az Ismétlés mindegyikkel művelet tartalmaz egy speciális változót, amellyel követhető az aktuális elem: Repeat Item. Az Elem ismétlése változó a ciklus minden iterációjánál frissítve lesz, és tartalmazza az adott iterációban bemenetként átadott elemet.
Ha például átad 10 Naptár-elemet egy Ismétlés mindegyikkel műveletben, akkor az Elem ismétlése változó a Naptár-események egyikét fogja jelölni minden iterációban, ahogy a parancs végigmegy az egyes Naptár-elemeken.
Megjegyzés: Ha egy Ismétlés mindegyikkel műveletben egy másik Ismétlés mindegyikkel műveletet helyez el, akkor a változónév Elem ismétlése 1 értékre változik, amely a belső ismétlési elemet jelöli, illetve Elem ismétlése 2 értékre változik a mélyebben lévő ciklus esetén, stb.
Az Ismétlési index változó
Az összes ismétlési ciklus tartalmaz egy speciális, Index ismétlése nevű változót, amellyel a ciklus aktuális iterációja követhető. Az Ismétlési index változó tartalmazza a ciklus eddigi ismétléseinek számát, amely 1-gyel kezdődik a ciklus első iterációjánál, és minden alkalommal eggyel nő. Amikor a ciklus második alkalommal fut, az Ismétlési index értéke 2, a harmadik alkalommal 3, és így tovább.
Megjegyzés: Ha egy Ismétlés műveletben egy másik Ismétlés műveletet helyez el (ezzel beágyazott ismétlési ciklusokat létrehozva), akkor a belső Ismétlés művelet változóneve Elem ismétlése 1 értékre változik, amely a belső ismétlési elemet jelöli, illetve Elem ismétlése 2 értékre változik a mélyebben lévő ciklus esetén, stb. Egy további beágyazott Ismétlés művelet tartalmaz egy Ismétlési index 3 változót, és így tovább.
További információk: Use variables in Shortcuts.
Végtelen ciklusok létrehozása
Bár a Parancsok nem kínál olyan műveletet, amely ismétlődően örökké futtatna egy parancscsoportot, emulálhatja ezt a viselkedést a Parancs futtatása művelettel. A Parancs futtatása művelet lehetővé teszi, hogy egy parancsot futtasson egy másik parancsban. Konfigurálja a Parancs futtatása műveletet, hogy azt a parancsot futtassa, amelyben található, és a parancs addig fog a kezdetétől a végéig futni, amíg le nem állítja a parancsot.
Test the output
When you’re learning to work with Repeat and Repeat with Each, it’s helpful to test the results that are produced after the End Repeat marker to ensure that the content is what you intended. Place a Quick Look action after the End Repeat marker to preview the items that are output by the repeat loop.
You can also place a Show Alert action after the End Repeat marker and insert a Repeat Results Magic Variable in the message box to display text that has been output by the loop. Ha egy hosszú parancs közepén lévő ciklust tesztel, hasznos lehet a Jelzés megjelenítése művelet használata az eredmények megtekintéséhez, mert hozzáadhat egy Mégsem gombot a jelzéshez, amellyel befejezhető a parancs a ciklus adott pontján.