✓ Accepted answer
Okay, let's step through this in a simpler way.
for a = 10,1,-1 do
print("a = " .. a)
for b = 5,1,-1 do
print("\tb = " .. b)
for c = 2,1,-1 do
print("\t\tc = " .. c)
end
end
end
This is the output we get:
a = 10
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
a = 9
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
a = 8
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
a = 7
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
a = 6
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
a = 5
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
a = 4
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
a = 3
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
a = 2
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
a = 1
b = 5
c = 2
c = 1
b = 4
c = 2
c = 1
b = 3
c = 2
c = 1
b = 2
c = 2
c = 1
b = 1
c = 2
c = 1
This makes sense.
We get to a for loop. It say, start a at 10. Check (that's the first line of output).
Now we enter the body of the a loop. We start b at 5. Check.
Now we went the body of the b loop. We start c at 2. Check.
Now the body of the c loop finished, so it advances to 1. Check.
Now 1 is where it was supposed to stop. So now we start the second iteration of the b loop. b is 4. Check.
Now we have to execute the body of the b loop; so c is 2, then 1. Check, check.
etc.