8. Multiple Cycles w/ Naming
set_one.each do |s1|
prefix = cycle('even','odd', :name => 'outer')
set_two.each do |s2|
suffix = cycle('yin','yang', :name => 'inner')
puts "#{prefix} #{s1} #{s2} #{suffix}"
end
end
9. Multiple Cycles w/ Naming
set_one.each do |s1| even 0 a yin
prefix = cycle('even','odd', :name => 'outer') even 0 b yang
set_two.each do |s2| even 0 c yin
suffix = cycle('yin','yang', :name => 'inner') odd 1 a yang
puts "#{prefix} #{s1} #{s2} #{suffix}" odd 1 b yin
end odd 1 c yang
end even 2 a yin
even 2 b yang
even 2 c yin
10. Restarting Named Cycles
set_one.each do |s1|
prefix = cycle('even','odd', :name => 'outer')
set_two.each do |s2|
suffix = cycle('yin','yang', :name => 'inner')
puts "#{prefix} #{s1} #{s2} #{suffix}"
end
reset_cycle('inner')
end
11. Restarting Named Cycles
set_one.each do |s1| even 0 a yin
prefix = cycle('even','odd', :name => 'outer') even 0 b yang
set_two.each do |s2| even 0 c yin
suffix = cycle('yin','yang', :name => 'inner') odd 1 a yin
puts "#{prefix} #{s1} #{s2} #{suffix}" odd 1 b yang
end odd 1 c yin
reset_cycle('inner') even 2 a yin
end even 2 b yang
even 2 c yin
13. Get the cycle w/out advancing?
set_one.each do |s1|
puts "#{s1} - #{cycle('on','off')}"
puts "#{s1} - #{cycle('on','off')}"
end
14. Get the cycle w/out advancing?
set_one.each do |s1| 0 - on
puts "#{s1} - #{cycle('on','off')}" 0 - off
puts "#{s1} - #{cycle('on','off')}" 1 - on
end 1 - off
2 - on
2 - off
15. Get the cycle w/out advancing?
set_one.each do |s1| 0 - on
puts "#{s1} - #{cycle('on','off')}" 0 - off
puts "#{s1} - #{cycle('on','off')}" 1 - on
end 1 - off
2 - on
Nope. 2 - off
16. Get the cycle w/out advancing?
set_one.each do |s1|
puts "#{s1} - #{cycle('on','off')}"
puts "#{s1} - #{current_cycle}"
end
17. Get the cycle w/out advancing?
set_one.each do |s1| 0 - on
puts "#{s1} - #{cycle('on','off')}" 0 - on
puts "#{s1} - #{current_cycle}" 1 - off
end 1 - off
2 - on
2 - on
18. Get the cycle w/out advancing?
set_one.each do |s1| 0 - on
puts "#{s1} - #{cycle('on','off')}" 0 - on
puts "#{s1} - #{current_cycle}" 1 - off
end 1 - off
2 - on
Yep. 2 - on
19. Another Example
set_one.each do |s1|
cycle('ruby','rails','bacon', :name => 'outer')
set_two.each do |s2|
puts "Inner: #{cycle('C','R','B', :name => 'inner')}
and Outer is still #{current_cycle('outer')}"
end
end
20. Another Example
set_one.each do |s1|
cycle('ruby','rails','bacon', :name => 'outer')
set_two.each do |s2|
puts "Inner: #{cycle('C','R','B', :name => 'inner')}
and Outer is still #{current_cycle('outer')}"
end
Inner: C and Outer is still ruby
end
Inner: R and Outer is still ruby
Inner: B and Outer is still ruby
Inner: C and Outer is still rails
Inner: R and Outer is still rails
Inner: B and Outer is still rails
Inner: C and Outer is still bacon
Inner: R and Outer is still bacon
Inner: B and Outer is still bacon
21. The cycle method
In Rails (not Array#cycle)
Often used to ‘zebra stripe’ table rows
Supported by:
reset_cycle
current_cycle
cycle names (default is ‘default’)