From: pmak@... Date: 2005-03-31T03:29:45+09:00 Subject: Syntax sugar idea for loops I was working with a proprietary programming language called Traction , and I noticed something pretty cool they had in their loop constructs. Consider the following Ruby code: every_other = true people.each do |person| every_other = !every_other row_class = every_other ? 'row1' : 'row2' puts "#{person.name} #{person.email}" end This code prints out an HTML table of peoples' names and e-mail addresses. The tags alternate with having class="row1" and class="row2", allowing every other row to be colored differently. Consider these two lines of the code, though: every_other = true every_other = !every_other These lines could be replaced by syntax sugar. Traction has the following "Special Loop Tags": : true if this is the first iteration of the loop true if this is not the first or last iteration of the loop true if this is an odd iteration : true if this is the last iteration of the loop (In the case of nested loops, they apply to the innermost loop.) Maybe Ruby could use this sort of syntax sugar, too? So in my example above, there would be a built-in variable that replaces my "every_other" variable.