Folks:
I think there is something weird about "offset". This occurred on version 6.5 
and now on 6.6.

First off, the documents say:

"the charsToSkip is a non-negative integer. If you don't specify how many 
charsToSkip, the offset function does not skip any items and starts at the 
beginning of the stringToSearch."

Note the use of the word "items".  Skipping characters vs skipping "items" is a 
different matter. In the revdocs that are online, the definition of 
"characters" to skip is correct.

But, that's not the end of the story. Offset does not appear to be working 
correctly anyway.

If I run the script:

   put "abcdefgabcccablmnopoq" into theChars
   put offset("c",theChars)

I get: 3, which is correct

If I do:
   put "abcdefgabcccablmnopoq" into theChars
   put offset("c",theChars,3)

I get 7.  ??? What the heck? It looks like it returns (the number of characters 
to the search char) - (# to skip).

But, if I do:
   put "abcdefgabcccablmnopoq" into theChars
   put offset("c",theChars,7)

I get: 3

So, something is very wrong with the offset command. I worked around this in a 
parsing script by always not skipping any characters, then after I found the 
first instance, deleting the characters I wanted to skip before the next offset 
invocation.

Seems like a bug to me. What do you think? Or is it only my system? Or is the 
use of the offset function some convoluted logic that's different from most 
other implementations of an offset function? What do I know? I'm new to 
Livecode.

Best,
Bill


William Prothero
http://es.earthednet.org


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

Reply via email to