digi_cs
2024-10-17 05:23:53 UTC
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
A[ LIST [ first ] = next
A[ LIST ][ next ] = last
A[ LIST ][ last [ =
A [ first ]...
A[ next ]...
A[ 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/ =-
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
A[ LIST [ first ] = next
A[ LIST ][ next ] = last
A[ LIST ][ last [ =
A [ first ]...
A[ next ]...
A[ 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/ =-