From: Brian Candler Date: 2003-02-04T18:33:01+09:00 Subject: Re: Local variables & blocks > def weird > x = nil > [proc {x}, proc {|x|}] > end > > What does it do? It returns an array of two procs: one which gives you the current value of x, and one which sets it to its argument. An attribute reader and an attribute writer. It's that hidden state I was talking about. Can you do this in other languages like Scheme, or is it an aberration of Ruby? That's one thing I'm trying to get a handle on. Regards, Brian.