From: Markus Date: 2004-09-26T14:54:53+09:00 Subject: Re: Proc / def / yield semantics (long) On Sat, 2004-09-25 at 19:52, Austin Ziegler wrote: > Actually, Markus, your examples don't work in 1.8.2 at all -- neither > the tickl() method or the tickler proc. These do: Yes, thanks. I should have included my usual caveat about code typed directly into a mail message. > with the exception of the yield capability in Hash#each, I don't > tend to rely on auto-expansion, instead being explicit. That's been my position as well. The problem here being that (as of 1.8.1) you get auto-expansion whether you want it or not. I don't object at all to having expansion available in situations where it is explicitly requested; in fact, I consider it a valuable feature, for which I am more than happy to pay an "*". But serious semantic tangles arise when array expansion is automatic and implicit under some circumstances, with no way to turn it off or even detect that it has been inflicted upon you. -- Markus P.S. I'm starting to question whether it is even needed for Hash#each; I can see at least two alternative ways to conceptualize the present behavior of Hash#each (one of which works nicely with the "association" extension proposed a week or so ago) without using implicit array expansion at all. If the idea holds up after some food & sleep & further mulling I'll post the details.