From: matz@... (Yukihiro Matsumoto) Date: 2003-04-29T11:20:56+09:00 Subject: Re: block.call vs. yield Hi, In message "Re: block.call vs. yield" on 03/04/29, Brian Candler writes: |I imagine 'yield semantics' were put in the language to solve some problem, |or make it work better in some circumstances; do you have an example of |that? 'yield semantics' is assignment between block parameters and yield arguments, so that |a| given 1 argument x works as a = x |a| given 2 arguments x, y works as a = x, y That's because block parameters are originally loop variables. |Suppose block parameters worked like function arguments - how would life be |worse? (ignoring backwards compatibility) I don't know (yet). The whole behavior of yield and block parameters is designed for assignment model. At least I need to reconstruct my mental model using function argument model. matz.