def foo(arg)
puts "#{arg}: foo"
arg == 1 ? true : false
end
def bar(arg)
puts "#{arg}: bar"
arg == 2 ? true : false
end
def baz(arg)
puts "#{arg}: baz"
arg == 3 ? true : false
end
commands = [method(:foo), method(:bar), method(:baz)]
[0,1,2,3,4].each do |x|
commands.reduce(false) do |skip_iteration, command|
break if skip_iteration
command.call(x)
end
end
ZGVmIGZvbyhhcmcpCiAgICBwdXRzICIje2FyZ306IGZvbyIKICAgIGFyZyA9PSAxID8gdHJ1ZSA6IGZhbHNlCmVuZAoKZGVmIGJhcihhcmcpCiAgICBwdXRzICIje2FyZ306IGJhciIKICAgIGFyZyA9PSAyID8gdHJ1ZSA6IGZhbHNlCmVuZAoKZGVmIGJheihhcmcpCiAgICBwdXRzICIje2FyZ306IGJheiIKICAgIGFyZyA9PSAzID8gdHJ1ZSA6IGZhbHNlCmVuZAoKY29tbWFuZHMgPSBbbWV0aG9kKDpmb28pLCBtZXRob2QoOmJhciksIG1ldGhvZCg6YmF6KV0KClswLDEsMiwzLDRdLmVhY2ggZG8gfHh8CiAgICBjb21tYW5kcy5yZWR1Y2UoZmFsc2UpIGRvIHxza2lwX2l0ZXJhdGlvbiwgY29tbWFuZHwKICAgIAlicmVhayBpZiBza2lwX2l0ZXJhdGlvbgogICAgICAgIGNvbW1hbmQuY2FsbCh4KQogICAgZW5kCmVuZAo=