From: Johannes Ahl-mann Date: 2005-02-13T08:34:59+09:00 Subject: difficulty with blocks i am still in my early stages of ruby, so please forgive me any blatantly lacking insight ;-)) i wonder how to divide responsibilities of block-driven methods in ruby. in python i can divide the responsibilities of creating data and filtering it using generators and the functional itertools. although this is a lot of lately tacked on functionality i am struggling to implement something similar in ruby. --- python code (untested code, but should run ;-) --- def fib: a, b = 1, 1 while true: yield a a, b = b, a+b import itertools def fibUpTo(n): return itertools.takeWhile(lambda i: i < n, fib()) --- a unified solution in ruby: --- def fibUpTo n, &block a, b = 1, 1 while a < n block.call(a) a, b = b, a+b end end --- snip --- i would really like to separate the creation of the fibonacci series from the filtering. this should be possible in ruby, i just can't see it right now ;-)) is maybe building a generator with the generator module an option?a thx, Johannes