List manipulations
Sarah
sarahr at genesearch.com.au
Thu Jun 6 20:55:01 EDT 2002
Hi Ron,
The most valuable thing to learn is the use of the "repeat for each"
syntax. This is a screamingly fast way to cycle through your text.
It is also much faster to create a new list rather than altering the old
one, so to add a new item (the same on each line), try something like:
repeat for each line L in myList
put item 1to 2 of L & comma & newStuff & comma & item 3 of L &
return after newList
end repeat
To extract certain columns:
repeat for each line L in myList
put item 1 of L & comma & item 3 of L after newList
end repeat
.Supposing you have a separate list with the items that you need to
insert into your first list, if you need to refer to the sub list by
line number, it is faster if you transform it into an array first:
split subList with return -- it is now an array
put 1 into theCounter -- to keep track of which element to
insert next
repeat for each line L in myList
put item 1to 2 of L & comma & subList[counter] & comma & item
3 of L & cr after newList
add 1 to counter
end repeat
This last example looks like it would be easier using a "repeat with
counter = 1 to the number of lines in myList" loop, but it is much
faster to do it this way.
The other main speed tips are:
1. always operate on variables rather than fields.
2. too much updating of progress indicators can really slow things
down.
Cheers,
Sarah
On Friday, June 7, 2002, at 11:27 AM, Ron wrote:
> Greetings
>
> I'm in the proces of moving a project to OS X that uses a lot of
> xthings to
> manipulate text and lists. These xthings will not be made useable on OS
> X so
> I'm exploring transcripts aternatives. I won't ask for all of them at
> once
> but I will start with a question of columns in hope that it will give
> me the
> information that enables me to solve some of the other problems on my
> own.
> Here goes.
>
> I simply want to add/extract columns of text of an existing list. So
> with
> something like:
>
> a,b,c
> d,e,f
> g,h,i
>
> I would like to add an item between say item 2 and 3 (as delimited by
> the
> comma) and I would like to extract items 1 and 3 from all the lines.
>
> This is somewhat simplified from what I do but I think it will point me
> in
> the right direction.
>
> Thanks
> Ron
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
More information about the use-livecode
mailing list