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.