From: Brian Candler Date: 2004-10-01T06:03:49+09:00 Subject: Re: Too Many Ways? > "Duplicate names and techniques to do the same > atomic thing ends up confusing the nubys" ... > #insert your own examples here I second your example of: def foo ... yield stuff if block_given? end versus: def foo(&blk) ... blk.call(stuff) unless blk.nil? end I think I would have found iterators much easier to get my head round if I had seen the second, rather than the first, initially. And if you use the first syntax, there is the leap you have to make sooner or later: "hang on - how do I pass this block to another method?"; or conversely, "I have a proc object, but how do I pass it to a method which expects a block?" Regards, Brian.