At 17:41 09/06/2004 -0700, Richard Gaskin wrote:
Alex Tweedly wrote:
I had
put URL "file:" & fileName into myVar
of course, I meant
put URL ("file:" & fileName) into myVar
or similar.
I don't think I've ever encountered a language where a valid expression could cause unwanted side-effects in an expression using only a single instance of an operator. Sigh.
The operator is fine.
The error you should have encountered was something to the effect of using a reserved word for a variable name. "fileName" is a property of media container objects like players and images, used to reference externally-stored media files. It's also a property of a mainStack, referring to the file it's associated with.
Sorry - my fault for cleaning up the example before sending it. The real script had
put URL "file:" & myVar into myVar
The problem wasn't the clash with fileName - it was the non-obvious "binding" of concatenation.
The statement I wrote is (I think) evaluated as
URL "file:" - evaluates to the empty string
& myVar - concatenated to myVar
put .... into myVar - assign the result (i.e. the file name) into myVar
when I was expecting
"file:" & myVar - concatenate the strings
URL "file:name.txt" - take that as a URL
put ... into myVar - put the content of the file into myVarThe reason I ascribed this to the operator is that Transcript is unique (in my experience) of allowing the flexibility to use keywords and operators at the same syntactic level - hence requiring the unwary programmer to remember the need to parenthesize accordingly. Concatenation is "normally" immune from the issues common in math type expressions (e.g. (2 + 4) * 5 ) because there are few string operators; traditional languages using libraries require the parens around the function calls so don't give you this particular piece of rope :-)
Thanks again (everyone) for the encouragement. I'll read another couple of months worth of archives before my next post ....
-- Alex.
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.699 / Virus Database: 456 - Release Date: 04/06/2004
_______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
