Printing All Names Beginning with "K"
sortOn
slot, so if we provide a beginKey
the cursor can go directly to the first name beginning with a "K"'. In addition, rather than using a validTest
which requires obtaining the full soup entry, we use an indexValidTest
which can operate on keys from the index. All the names from "K" on are still visited, however, and the indexValidTest
is applied to each. This example took approximately 3 seconds to execute:
soup := GetUnionSoup("Names"); curs := soup:Query( { indexPath: 'sortOn, beginKey: "k", indexValidTest: func(indexValue) begin return BeginsWith(indexValue, "k"); end }); e := curs:Entry(); while e do begin Print(e.sortOn); e := curs:Next(); end; "Keohane" "Kohnlenberger" "Kollmyer" "Kuang"
An online version of Programming for the Newton using Macintosh, 2nd ed. ©1996, 1994, Julie McKeehan and Neil Rhodes.
Last modified: 1 DEC 1996