Quote:This thread is getting very complex - we're discussing edge cases
Pretty central to some things I do, and I think Ted is trying to do. And not complex, certainly less complex than many things I've seen discussed on the forum. These actually have made life much simpler for me.
action(),
eval() and
do() in conjunction with stamps and code notes are very convenient and could be better documented at some point to remove the mystery.
Quote:Eastgate's engineering efforts are focused heavily on other TB matters right now (stuff people really want too
Don't think Eastgate needs to do anything here. Works great as is, once it's understood what
do() does do and doesn't do.... At some point some sort of
loop(item, DoThisWithEachListItem) would be nice.
Quote:it does seem do() was intended evaluate (action) code inside the macro but doesn't currently
Gee, I hope not. There are times when one "just" needs to assemble a string. There are other times when one wants to assemble it and then run it as code. Things are pretty good the way they are. All one has to do is place the
do() in an
eval() or
action() and lots of things are possible.
Quote:eval() returns something and action() doesn't
That seems to be the crucial point, which aTbRef covers and my simple examples illustrate.
In the '2+3' example, if one has just '2+3' in $Text then I use
$ReturnValue=eval($Text("test1")).
If the "entire" action code '$MyResult=2+3' is in $Text then I use
action($Text("test1")).
eval() won't show anything or seem to do anything unless the user specifies a place to put the result, whereas
action() will run "complete" code that already specifies where the result is to go.
Is that not as it should be? And how TB is designed?