From: "trans. (T. Onoma)" Date: 2004-10-11T04:25:30+09:00 Subject: Putting some code out to DRY Notice the three lines of duplication. Any ideas on DRYing this up? def each seed = @start if @step @step.times do yield(seed) @skip.times { seed = seed.succ } break if @halt.call(seed) if @halt end else loop do yield(seed) @skip.times { seed = seed.succ } break if @halt.call(seed) if @halt end end end Thanks, T. [CO2D] or [WET] ?