These are the alternatives as far as I can see (plus combinations):

irb(main):001:0> def a_block_like_method(i)
irb(main):002:1> puts i
irb(main):003:1> end
nil
irb(main):004:0> arr = [1, 2, 3]
[1, 2, 3]
irb(main):005:0> arr.each do |i| a_block_like_method(i) end
1
2
3
[1, 2, 3]
irb(main):006:0> block = Proc.new {|i| puts i}
#<Proc:0x2ab73f0>
irb(main):007:0> arr.each do |i| block.call(i) end
1
2
3
[1, 2, 3]
irb(main):008:0> arr.each &block
1
2
3
[1, 2, 3]
irb(main):009:0>

Why isn't this sufficient?

Regards

    robert

"Tom Sawyer" <transami / transami.net> schrieb im Newsbeitrag
news:200302171516.53178.transami / transami.net...
>
> i was just playing around with some ideas and came across something i
could
> not do although it seems to me that it wouldn't be unreasonable to want
to do
> so:
>
> def a_block_like_method(i)
> puts i
> end
>
> arr = [1, 2, 3]
> arr.each do a_block_like_method(i)
>
> i also tried
>
> def pass_a_block
> { |i| puts i }
> end
>
> arr = [1, 2, 3]
> arr.each do pass_a_block
>
> and i tried a few other variations with no success. is there a way to
pass a
> block or use a method as a block?
>
> --
> tom sawyer, aka transami
> transami / transami.net
>
>