Oh, OK ! Got it ..
Thanks Matz.

"Yukihiro Matsumoto" <matz / ruby-lang.org> wrote in message
news:1028615833.651199.10281.nullmailer / picachu.netlab.jp...
> Hi,
>
> In message "block , yield and proc?"
>     on 02/08/06, "Shashank Date" <ADATE / kc.rr.com> writes:
>
> |I  am experimenting with code using blocks, yield and proc in Ruby (1.7.2
> |mswin32) and discovered three different ways of expressing the same idea:
>
> First, you have to learn several tips:
>
>   (a) block parameter |v| means takes everything in a single variable,
>       which is better described as |*v|.
>
>   (b) "call" requires exact number of required argument, whereas
>       "yield" fills nil for fewer arguments and ignores too much
>       arguments.
>
> |Q1: Why does the following code :
>
> This is caused by (b).
>
> |Q2: What exactly is the semantic difference between using a bloc
parameter
> |(with &) and a yield?
>
> This is answered almost by (b).  In addition, a block argument
> (&block) creates one more object.
>
> |Q3: And what about using Proc?
>
> No difference, except for appearance.
>
> matz.
>