On 11 July 2013 20:10, David Korn <[email protected]> wrote: > cc: [email protected] [email protected] > Subject: Re: Re: [ast-users] ksh93 returns "()" for "${a[@]}" if I clear an > array with a=( ) > -------- > >> >> On 10 July 2013 22:18, David Korn <[email protected]> wrote: >> > cc: [email protected] >> > Subject: Re: ksh93 returns "()" for "${a[@]}" if I clear an array with a=( >> > ) >> > -------- >> > >> >> ksh93 returns "()" for "${a[@]}" if I clear an array with a=( ) >> > >> > >> > a=() >> > >> > doesn't clear an array, it unsets a and creates an empty compound variable >> > ( >> > ) >> > >> > typeset -a a=() >> > >> > should clear an array. >> >> This is not very intuitive. First variable a has already be declared >> as an array so the intuitive feeling would be that a=() resets it with >> an empty array. 2nd your interpretation assumes that the called >> function knows the array data type to reset it - which becomes a pain >> if you have hundreds of types defined and try to use a utility >> function which should reset an array of any of these types. >> >> I'd better go for: a=() means reset the variable if variable a is >> either array or compound. If it isn't already a type of these make it >> a compound variable. If variable a is of type integer or string throw >> an error. >> This should make things more predictable. >> >> Ced >> -- >> Cedric Blancher <[email protected]> >> Institute Pasteur >> > > I changed this for the next alpha so that > a=() > will preserve index and associative array attributes while unsetting the > array.
I thought the whole point is that the array remains with all its attributes, but all array elements are unset? What will happen to typeset -T my_t=(...) ; my_t -a and my_t -A? They arrays remain with the defined type but the elements are all unset, right? > > However, it is not an error to redefine a simple variable as a compound > variable. How will the result look like? Wendy _______________________________________________ ast-users mailing list [email protected] http://lists.research.att.com/mailman/listinfo/ast-users
