On 20/03/2012 17:17, Pete wrote:
So I wouldn't vote for a bug report that asked for lines to behave like
characters in this respect. I would vote for a bug report that asked for
this situation to be caught as an error (although I think it would have to
be a run time error not compile time since the start and end points could
be variables or expressions).
Lost in this discussion is the reason why someone wanted to do this in the
first place. Alex, I think it was you that started this whole thread - did
you have a specific reason for wanting to specify a line range with an end
point before the start or was it just an observation?
No, no specific reason to want to do it - it kind of happened by
accident :-)
And it wasn't so much an observation as a question -
can someone give me a rationale for this behaviour so I can deal
with it better ?
What I *wanted* to do was replace line 'x' of someContainer (and
everything after it) by my new data,
so I did the (temptingly logical - but WRONG) thing of
put newData into line x to -1 of someContainer
NB that is simply wrong, because "line -1" means the last line that is
there - not to the end after what I specified :-)
as it happened, the container had x-1 lines in it at the time (including
a trailing line delimiter, just to confuse things), so that became
equivalent to "put newData into line x to x-1 of someContainer"
I knew that what was happening seemed wrong - but couldn't figure out
how or why. Jacque's explanation showed me what I should do - but still
left that niggling feeling of something being a bit odd.
I can get what I wanted in a couple of safe ways
a. delete line x to -1 of t !! inverted range - but AFAIK it does
the right thing with it in all cases
put newData into line 2 of t
b. put newData into line 2 to kInfinity of t -- where kInfinity is
some arbitrarily large constant
I'm not sure what I would vote for now, hence I haven't yet put in a bug
report. Personally, I'd probably like a run-time error, but I suspect
that the need for backwards compatability would prevent that being
feasible.
-- Alex, still hoping for someone to come up with a "more right" answer :-)
_______________________________________________
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