Mark Wieder wrote:

> Richard-
>
> Sunday, August 11, 2013, 6:22:47 PM, you wrote:
>
>> x|x|x -- this contains three items
>> x|x|x| -- this contains three items
>
> unless, of course, the trailing space is considered part of the
> string, in which case that last line has four items.
>
>> x|x|x|x  -- this contains four items

Right, which is why I also included this note:

    ...what we're counting is any chunk that's terminated,
    either by the delimiter or by simply being the end of
    the string...

This also answers the question of deleting elements from terminated strings, since the end of a string is a de facto terminator (there simply ain't no more).

So the current engine behavior with deleted items would seem both consistent with Jacque's definition and arguably rather efficient by removing the unneeded explicit terminator at the end of the string.


>> One simple solution would be to add "lineTerminator" and
>> "itemTerminator" as synonyms for "lineDelimiter" and "itemDelimiter"
>> respectively, and then the conceptual model fits what the engine
>> does. We leave the "*delimter" tokens in place for us ol' timers,
>> but emphasize "*terminator" for newcomers.
>
> That's an interesting idea, but in that case I'd suggest that the new
> terms "lineTerminator" and "itemTerminator" do the right thing and
> just leave the *delimiter terms to atrophy away.

Exactly.  I was just being kind to the ol' timers. :)

--
 Richard Gaskin
 Fourth World
 LiveCode training and consulting: http://www.fourthworld.com
 Webzine for LiveCode developers: http://www.LiveCodeJournal.com
 Follow me on Twitter:  http://twitter.com/FourthWorldSys


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

Reply via email to