On 4/23/17 4:25 PM, Florian Mayer wrote: >> That's not a reasonable expectation. > Why not? Why is it not reasonable to expect an intuitive > result from (())? The most intuitive thing, in my opinion, > would be to use nameref for side effects by default, because in order > to get a value from an id, (()) already follows namerefs.
The thing that makes that result intuitive for you is your opinion about how things should work. That's fine. I don't happen to share your opinion of what is "intuitive" in this case. However, it is unreasonable to expect var=bar (( var=7 )) to do anything but assign a value to `var'. Very few people, when asked, would say that it were more intuitive to cause a variable named `bar' to spring into existence with the value 7. If you want nameref behavior, you have to explicitly declare it. >> It's not indirection, and I am not sure why you show the completely > I was mentioning that, not because I use „a mental model“ that falsely unifies > both things, but because I wanted to point out that there exists something > with a similar behavior. > > And if ${!<varid>} does not portray some kind of indirection, what do you > call it then? That is variable indirection. It has superficially similar effects to what we are discussing, which is arithmetic expansion; however, it has nothing to do with the behavior of (( )) or $(( )). -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU c...@case.edu http://cnswww.cns.cwru.edu/~chet/