Code: Select all
ForEach listname() WHERE listname()\fldname = "YES"
.. process
next
; translating internally to something like:
ForEach listname()
if listname()\fldname="YES"
.. process
endif
next
Hopefully this would add no extra code to the final executable (the user currently has to do some testing inside the loop, which would no longer be needed) - and might in fact make this slightly smaller or faster through compilation optimisations.
[ASIDE]
Ordered lists would also be nice - I order lists using a Binary Search but it can get slow on large lists, with several SelectElement(LinkedList(), Position) and associated tests and postion adjustments happening before the item is included in the list.
But an optional ordering/sorting ability, something like:
Code: Select all
NewList listname.listDef() [ ASCENDING | DESCENDING [ IGNORECASE ] ON fldName ]
[/ASIDE]