On Thu, Jun 7, 2012 at 12:27 PM, Dan Douglas <orm...@gmail.com> wrote: > On Thursday, June 07, 2012 10:01:51 AM Pierre Gaston wrote: >> On Thu, Jun 7, 2012 at 6:07 AM, Linda Walsh <b...@tlinx.org> wrote: >> >(no I haven't made it space/bracket...whatever proof...just a bit >> > more work) >> >> It's not just "a bit more work", there are many workarounds but it's not >> really possible to make a really robust generic solution for assignment, >> and in the end it just not as simple and pretty as nameref. >> >> Fwiw here is a robust and simple solution for in_: >> >> _in () { >> local e t >> t="${2:?}[@]"; >> for e in "${!t}"; do [[ $1 = "$e" ]] && return 0;done >> return 1; >> } >> > > Not robust due to the name conflicts with "e" or "t". There's also no good way > to generate a list of locals without parsing "local" output (i'd rather live > with the conflicts). I usually store indirect references in the positional > parameters for that reason. Proper encapsulation is impossible.
Ah true, thanks for the reminder that also kinda prove my first point.