﻿id	summary	reporter	owner	description	type	status	milestone	component	version	severity	resolution	keywords	cc
2279	For loop not working as expected	BrewManNH	Jon	"Here's some code I came across that isn't working as it should, at least isn't working as I think it should work.
{{{
Global $Array[5] = [""AA"", ""BB"", ""CC"", ""DD"", ""EE""]
For $I = -1 To $Array
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $I = ' & $I & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
Next
Global $Array[5][2] = [[""AA"", ""1""], [""BB"", 2], [""CC"", 3], [""DD"", 4],[""EE"", 5]]
For $I = 10 To $Array
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $I = ' & $I & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
Next
}}}
The output from the code above, when run from SciTE, is this.
 >@@ Debug(7) : $I = -1
 >Error code: 0
 >@@ Debug(7) : $I = BB
 >Error code: 0
 >@@ Debug(7) : $I = CC
 >Error code: 0
 >@@ Debug(7) : $I = DD
 >Error code: 0
 >@@ Debug(7) : $I = EE
 >Error code: 0
 >@@ Debug(11) : $I = 10
 >Error code: 0
 >@@ Debug(11) : $I = 10
 >Error code: 0
 >@@ Debug(11) : $I = 10
 >Error code: 0
 >@@ Debug(11) : $I = 10
 >Error code: 0
 >@@ Debug(11) : $I = 10
 
The first value of $I is correct, it starts at whatever the For loop starts at, but then the For/Next loop starts acting like a For/In/Next loop. On a 2D array, the second section of code, it just loops for however many elements there are in the array, and the initial value of $I doesn't change.

I would have expected this to either error out, because it's referencing an array instead of a number, or run once because there's no end number to reach.

I have tested this code on 3.3.8.1, 3.3.6.1, and 3.3.9.5 and they all run the same way.

I don't think this should be working the way it is and appears to be a bug."	Bug	assigned		AutoIt	3.3.8.1	None			
