Обновление : сравнение удаленных блоков в Ruby 2.0+ невозможно, поэтому использование встроенных методов невозможно.
Руби раньше сравнивал Proc
с, но был не очень хорош в этом . Например, вы могли бы:
def is_trivial_block?(&block)
block == Proc.new{}
end
is_trivial_block?{} # => true
is_trivial_block?{ 42 } # => false
# but caution:
is_trivial_block?{|foo|} # => false
Из-за этого было решено убрать сравнение блоков, поэтому два блока теперь ==
, если они являются одним и тем же объектом.