Text manipulation - underlying data structures
Ben Rubinstein
benr_mc at cogapp.com
Fri May 17 07:58:01 EDT 2002
on 17/5/02 5:28 PM, Karl Petersen at karlpet at mac.com wrote:
> It's possible to do the same with a script that uses fixed-length
> numbers to store the start-of-line positions in an index. If all
> index numbers are the same length, a script can easily calculate the
> location of any index member, read that number from the index file,
> then use it to read one line from the data file.
[...snip...]
> In Rev, one might store index numbers as binary data, allowing the
> index file to be smaller. If might even allow the index to be stored
> in memory. Rev's "repeat for each line L of <data>" is so fast it
> should be possible to build an index quickly, a task normally
> requiring an external.
Or, unless memory is a huge issue, why not use the very fast arrays in
combination with the very fast 'repeat for each' loop, to store the actual
contents of each line in an index, keyed under the line. Ie
put empty into myarray
put 1 into lineNum
repeat for each line L of data
put L into myarray[lineNum]
add 1 to lineNum
end repeat
Ben Rubinstein | Email: benr_mc at cogapp.com
Cognitive Applications Ltd | Phone: +44 (0)1273-821600
http://www.cogapp.com | Fax : +44 (0)1273-728866
More information about the use-livecode
mailing list