In addition to Kevin Conner's answer: block arguments do not support the same semantics as method arguments. You cannot define default arguments or block arguments.
This is only fixed in Ruby 1.9 with the new alternative "stabby lambda" syntax which supports full method argument semantics.
http://stackoverflow.com/questions/89650/how-do-you-pass-arguments-to-define-method#answer-109379
Example:
# Works