Hi, In message "Re: Tricky block args" on Mon, 27 Mar 2006 13:54:58 +0900, "Charles O Nutter" <headius / headius.com> writes: |We are trying to implement some missing block arg functionality. Could |someone knowledgable about the more unusual methods of declaring block args |point us to where in the C code it is implemented? Specifically, the ability |to specify an array or hash location as the target for a block param: | |x = [0] |[1,2].each {|x[0]|} The assignment to x[0] is done in assign() function, especially at the code after /* array set */ comment. It's called from rb_yield_0(). FYI, in the future, block parameters will be restricted to local variables only, so that I don't recommend using something other than local variables for the parameters. matz.