Hi Dave and all the others in this thread,

> ... I guess the engine is confused about where the replacement  
> should be made. As far as I know, replaceText always works when the  
> above construction is used in combination with another expression  
> (e.g yx*, x*y, yx*z), so if it is a bug, I don't think it can be  
> considered a serious  one.
> 
> >> answer replaceText("A C","^ +","")
> 
> The above works because the match can fail, in which case no  
> replacement is made.

1. You're absolutely right, I should have used "^ +" in the first place.

2. I didn't want to sound too harsh, sorry. I called this a serious bug, 
because for somebody who has some Perl programming experience, regular 
expression lie at the very basis of the script, so I was somewhat shocked. And 
in spite of what Ken Ray says, I still think this is a bug.

3. It seems that regular expressions are to be avoided in time sensitive parts 
of the script anyway. Playing around a little bit I found that the RegExp 
solution I suggested took far more time than any other solution (by about a 
factor of 10 compared with the fastest solution). Probably this should be 
optimized in an updated version. It seems that regular expressions in Perl are 
by a factor 6 faster (and again 8 times faster on my PC laptop).
On the other hand, this shows that those cumbersome repeat loops are 
surprisingly fast.
The fastest is:

  while char 1 of testString is space
    delete char 1 of testString 
  end repeat

taking about 1.8 microseconds per round (11 ticks for 100000 repeats), and with 
a string whiteSpace = tab && return a loop with
  while char 1 of testString is in whiteSpace 
takes about twice as long.

  word 1 to -1 of testString
removing whitespace at the front and the end simultaneously is only a little 
slower, while using token
  token 1 to -1 of testString
takes surprisingly three times as long as using "word".

All in all, Bob's idea "to ask questions that make them want to crawl under the 
table in shame because probably the answer is idiotically simple." turned out 
to keep people busy and excited for quite a while. Proves again that there are 
no simple questions...

All the best
Thomas


--
Thomas Fischer
Salzburg (actually Gottingen right now)

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to