This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
action:For_Each [2017/03/05 21:26] peternlewis [Forum] |
action:For_Each [2021/10/12 23:22] peternlewis |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{:action:for-each-icon.png?nolink |}} | ||
====== For Each Action ====== | ====== For Each Action ====== | ||
- | The For Each action loops over a set of [collections](:Collections) of items, setting a variable to each value and executing the contained actions. | + | The *For Each* action loops over a set of [collections](:Collections) of items, setting a variable to each value and executing the contained actions. |
+ | |||
+ | It is one of several Actions that _loop_ through a set of other Actions until some criteria is met. | ||
Whenever you need to deal with a list of things (lines, files, volumes, numbers, etc), the For Each action is a good place to start. | Whenever you need to deal with a list of things (lines, files, volumes, numbers, etc), the For Each action is a good place to start. | ||
===== How To Use ===== | ===== How To Use ===== | ||
+ | |||
- Add the //For Each// Action, from the //Control Flow// Category, to your macro | - Add the //For Each// Action, from the //Control Flow// Category, to your macro | ||
- {{:action:km-editor-for-each-action.png?nolink|}} | - {{:action:km-editor-for-each-action.png?nolink|}} | ||
Line 19: | Line 21: | ||
- Drag one or more actions into the //No Action// (which means no actions have been added yet) area. | - Drag one or more actions into the //No Action// (which means no actions have been added yet) area. | ||
* These actions will operate on each item in the Collection that is stored in the Variable from Step #2 | * These actions will operate on each item in the Collection that is stored in the Variable from Step #2 | ||
+ | |||
+ | You can break out of the loop, retry this iteration, or skip to the next iteration with the [[actions:Redirect_Control_Flow|actions:Redirect Control Flow]] actions. | ||
===== Examples ===== | ===== Examples ===== | ||
Line 26: | Line 30: | ||
{{:action:km-for-each-lines-example.png?nolink|}} | {{:action:km-for-each-lines-example.png?nolink|}} | ||
- | For a complete macro using this Action, see:\\ | + | For a complete macro using this Action, see [[https://forum.keyboardmaestro.com/t/macro-file-process-lines-in-text-file/2936|MACRO: [FILE] Process Lines in Text File]] |
- | [[https://forum.keyboardmaestro.com/t/macro-file-process-lines-in-text-file/2936|MACRO: [FILE] Process Lines in Text File]] | + | |
- | **Example #2: Get Capture Group for Multiple Matches**\\ | + | **Example #2: Get Capture Group for Multiple Matches** |
See [[:Regular Expressions#Examples|Regular Expressions (RegEx) Examples]] | See [[:Regular Expressions#Examples|Regular Expressions (RegEx) Examples]] | ||
Line 35: | Line 38: | ||
===== See also ===== | ===== See also ===== | ||
- | |||
- | ---- | ||
=== Actions === | === Actions === | ||
- | * [[action:Search Variable|action:Search Variable]] | + | * [[action:For_Each|For Each]] action |
+ | * [[action:Repeat|Repeat]] action | ||
+ | * [[action:Until|Until]] action | ||
+ | * [[action:While|While]] action | ||
+ | * [[action:Assert|Assert]] action | ||
* [[:Actions|See all actions]] | * [[:Actions|See all actions]] | ||
Line 48: | Line 53: | ||
* [[:Triggers|See all triggers]] | * [[:Triggers|See all triggers]] | ||
- | ---- | ||
==== Forum ==== | ==== Forum ==== |