In Lua, you can iterate over all elements of a table or an array using the generic for loop. The generic for is similar to the numeric for loop discussed in the last chapter, but with subtle differences in syntax.
The generic for loop consists of the for keyword followed by a variable list, followed by the in keyword, followed by an expression list, and finally a do-end chunk. The code looks like the following:
The first variable in the variable list is the control variable. On each iteration, the for loop evaluates the expressions in the list and assigns their results to the variable list. The loop keeps executing while the control variable is not nil.
The expression list of a for loop usually consists of a single iterator function. Lua provides several built-in iterators for different tasks. This section will explore how the pairs iterator, which has a key and a value...