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

Reply via email to