Iterative version.
Iterative version
62 63 64 65
# File 'lib/fr/unfold.rb', line 62 def unfold(seed, &block) m = yield(seed) m.fold(Set.new){|(item, seed)| unfold(seed, &block) << item } end