Bug in for loop syntax?

Monkey Forums/Monkey Bug Reports/Bug in for loop syntax?

Skn3(Posted 2013) [#1]
Function main:Int()
	Local item:= New Item
	
	For item.index = 0 Until 10
		Print item.index
	Next
End

Class Item
	Field index:Int
End


This produces an error:
ATTENTION: Compilation error reported by Trans: Syntax error - expecting '='.



Goodlookinguy(Posted 2013) [#2]
Looks like a bug to me. I usually don't change an object's field with counters, nevertheless it seems like a bug.


Gerry Quinn(Posted 2013) [#3]
Possibly this is intended (note the similar issue if you use a step value it can only be set at the start of iteration). I'm not even certain if all target languages would support this. From a pure programming point of view it seems okay, but an old-style programmer would throw his hands up in horror at the thought of putting a loop counter on the heap.


Skn3(Posted 2013) [#4]
Yeah it's an odd occasion to write code using the counter like this. It did however confuse me with the error message. Perhaps a clearer error message if this behaviour is not wanted?