Sujet : HID:LIST - list arrays
De : cosmogen (at) *nospam* gmail.com (digi_cs)
Groupes : comp.lang.awkDate : 17. Oct 2024, 06:20:31
Autres entêtes
Organisation : SunSITE.dk - Supporting Open source
Message-ID : <67109f80$0$705$14726298@news.sunsite.dk>
Hello!
FYI
@include �github.com/digics/UID10/uid.lib�
LIST = hid::get( �LIST� )
An array (A) in AWK can represent a list of unique items with an undefined order.
To introduce the concept of an array with a defined sequence of its indexes (items),
we need to specify this sequence in a subarray A[LIST] as a simple list:
The element A[ LIST ][ "" ] stores the index of the first item in the list:
# items of A: first, next and last:
A[ �LIST� ][ �� ] = �first�
[ �first� ] = �next�
[ �next� ] = �last�
[ �last� [ = ��
[ �first� ]...
[ �next� ]...
[ �last� ]...
Thus, instead of a for-in loop for array A, we use:
i = ��
while ( �� != i = A[ LIST][ i ] )
# process A[ i ]
or
for ( i = ��; �� != i = A[ LIST ][ i ]; )
# process A[ i ]
At the same time, we can still work with the main array in a for-in loop � with one caveat:
for ( i in A )
if ( i in HID )
continue # this is hid (LIST)
else
# process A[ i ]
In case a bidirectional list is needed, another subarray A[LIST][LIST] is created
within the subarray A[LIST], where the items are listed in reverse order,
and the element A[LIST][LIST][""] stores the index of the last item in the list.
best regards)
--------------= Posted using GrabIt =----------------
------= Binary Usenet downloading made easy =---------
-= Get GrabIt for free from
https://www.shemes.com/ =-