How do you do it??
Bob Sneidar
bobs at twft.com
Tue Dec 27 12:09:01 EST 2011
Oh sorry ignore my last post.
Bob
On Dec 23, 2011, at 6:50 PM, DunbarX at aol.com wrote:
> Of course.
>
>
> I have overdone the "do" construction by not including the whole statement in quotes. I am so used to having to break out literals from variables, reassembling them meticulously into a single line, that I missed this very expected result.
>
>
> Thanks...
>
>
> Craig
>
>
>
> -----Original Message-----
> From: Bob Sneidar <bobs at twft.com>
> To: How to use LiveCode <use-livecode at lists.runrev.com>
> Sent: Fri, Dec 23, 2011 1:20 pm
> Subject: Re: How do you do it??
>
>
> Hmmm lemme follow this as pseudo code:
>
> when the mouse is clicked
> put "AA" and a carriage return and "BB" into the variable "it"
> on the first pass of a repeat loop, try to do the command put followed by the
> word "it" followed by the contents of the variable "it" (it's two lines you
> know) followed by into "temp1". The statement you are trying to "do" will look
> like this:
>
> do put AA
> BB into temp1
>
> Well you see what went wrong don't you? The do command does not know what to do
> with what comes after AA. It cannot even compile it. This is why it is a MUCH
> better idea to put your command into a variable, and then do the variable. You
> could then have stepped through the code and seen what the DO command looked
> like before you tried to "do" it. It may seem like wisdom at first to try to
> mash all the code into one compact statement, but there is no gain in
> performance, and there is a HUGE downside of not being able to debug it.
>
> Try this instead:
>> on mouseUp
>> get "AA" & return & "BB"
>> -- get "AA"
>> repeat with y = 1 to 2
>> put "put" && line y of it && "into temp" & y into theCommand
>> do theCommand
>> end repeat
>> answer temp1 & comma & temp2
>> end mouseUp
>
>
> You will get "AA,BB"
> Bob
>
>
>
> On Dec 23, 2011, at 1:43 PM, DunbarX at aol.com wrote:
>
>>
>>
>> Why do LC (and HC for that matter) fail to process multi-line variables when
> using "do"?
>>
>>
>> If the variable "it" contains one line, the "do" construction
>> works fine, making numbered temp variables as needed. But if I try the routine
> with a multi-line "it", the handler
>> will not compile.
>> LC complains as: execution error at line 5 (do: error in source expression)
> near "put AA", char 1
>> HC complains as well, that it cannot understand "BB".
>>
>>
>>
>> It seems that the routine breaks simply because of the other lines, that is,
>> the next line in "it" is not understandable by the parser. I wonder why it
> bothers to look there.
>>
>>
>>
>> Don't tell me I need two levels of "do": (do "do put...) Just kidding,
> that fails also.
>>
>>
>> Just asking.
>>
>>
>> Craig Newman
>>
>>
>>
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list