trans. wrote:

> Right. I'm not suggesting that Ruby change this. I'm just wondering if
> might be possible to add an extra feature that would allow for the
> alternate when passing arguments through methods.

Please, don't. That would actually make all this wrong thinking models 
right in certain cases which would make the whole situation vastly more 
complex. I like Ruby being a simple and consistent language instead of a 
monster like C++.

> Personally, I've alwasy thought of variables as containters, so in that
> way of thinking, which I think is common, one would expect to be able
> to change what's in the container. I don't think Ruby's  approach is
> always simple for the enduser and it does lead to some surprises --for
> example this very thread.

But this is the very source of all this confusion. Variables are names. 
I don't know how often I will have to repeat this. :)

> Binding.of_caller is useful for meta-programming, but that's bad
> business for general use.

It's also needed for wrapping eval() and useful for providing convenient 
interfaces to slightly context-sensitive things. (Breakpoints are an 
example of that.) I'd like to see it in the language itself, having to 
go through a Binding for modifying variables or calling methods in 
another context should give you a hint that you should not use it when 
you don't need it.