Issue #6073 has been reported by Shouichi KAMIYA.

----------------------------------------
Feature #6073: Proposal of extending syntax of for loop
https://bugs.ruby-lang.org/issues/6073

Author: Shouichi KAMIYA
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 


Hi,

I propose to extend syntax of for loop which allows us to write multiple loop with guard easily.
This extension is inspired by Scala. Here is a example

for i in 1..4 when i % 2 == 0
    j in 5..8 when j % 4 == 0
  puts "#{i}, #{j}"
end

Above code is same as following code.

for i in 1..4
  if i % 2 == 0
    for j in 5..8
      if j % 4 == 0
        puts "#{i}, #{j}"
      end
    end
  end
end

I already implemented this syntax and attached a patch.
What do you think about this syntax guys?

Thank you,
Shouichi


-- 
http://bugs.ruby-lang.org/