Folks, I am trying to create a project where kids can enter their own "Connector" functions. So what I want to do is given a connector connected to two text boxes (one Enhanced Text, so I can execute a script when they hit <CR> or on <focus loss>).
I have a string variable defined for the connector, in which the kids can enter a function like ( D = S + 25) Where D maps to DestinationPlayer and S maps to SourcePlayer. Ideally I would like to generate the below script and execute it:
Need some squeak coding help on this. I guess specifically, assuming I can figure out how to create a string with the correct code ... How do I "do it" to the string?
Thanks, Stephen
_______________________________________________ etoys-dev mailing list [hidden email] http://lists.squeakland.org/mailman/listinfo/etoys-dev ConnectorMath.001.pr (126K) Download Attachment |
On 01.02.2012, at 13:24, Steve Thomas wrote: > Folks, > > I am trying to create a project where kids can enter their own "Connector" functions. > > So what I want to do is given a connector connected to two text boxes (one Enhanced Text, so I can execute a script when they hit <CR> or on <focus loss>). > I have a string variable defined for the connector, in which the kids can enter a function like ( D = S + 25) > Where D maps to DestinationPlayer and S maps to SourcePlayer. > > Ideally I would like to generate the below script and execute it: > > doIt > self getDestinationPlayer setNumericValue: self getSourcePlayer getNumericValue + 25 > > > Need some squeak coding help on this. I guess specifically, assuming I can figure out how to create a string with the correct code ... > How do I "do it" to the string? Compiler evaluate: '3 + 4' - Bert - _______________________________________________ etoys-dev mailing list [hidden email] http://lists.squeakland.org/mailman/listinfo/etoys-dev |
In reply to this post by Steve Thomas
On Wed, Feb 1, 2012 at 10:24 PM, Steve Thomas <[hidden email]> wrote:
> Folks, > > I am trying to create a project where kids can enter their own "Connector" > functions. > > So what I want to do is given a connector connected to two text boxes (one > Enhanced Text, so I can execute a script when they hit <CR> or on <focus > loss>). > I have a string variable defined for the connector, in which the kids can > enter a function like ( D = S + 25) > Where D maps to DestinationPlayer and S maps to SourcePlayer. > > Ideally I would like to generate the below script and execute it: > > doIt > self getDestinationPlayer setNumericValue: self getSourcePlayer > getNumericValue + 25 > > > > Need some squeak coding help on this. I guess specifically, assuming I can > figure out how to create a string with the correct code ... > How do I "do it" to the string? > > Thanks, > Stephen > > _____ I have also wanted a enhanced workspace where one evaluate a line with enter/return. Workspaces create textual references to dropped morphs, see workspace window menus. That way you can keep track of many morphs on screen. Evaluation is done by select and Ctr l+ D Karl _______________________________________________ etoys-dev mailing list [hidden email] http://lists.squeakland.org/mailman/listinfo/etoys-dev |
In reply to this post by Bert Freudenberg
On 01.02.2012, at 13:53, Bert Freudenberg wrote: > > On 01.02.2012, at 13:24, Steve Thomas wrote: > >> Folks, >> >> I am trying to create a project where kids can enter their own "Connector" functions. >> >> So what I want to do is given a connector connected to two text boxes (one Enhanced Text, so I can execute a script when they hit <CR> or on <focus loss>). >> I have a string variable defined for the connector, in which the kids can enter a function like ( D = S + 25) >> Where D maps to DestinationPlayer and S maps to SourcePlayer. >> >> Ideally I would like to generate the below script and execute it: >> >> doIt >> self getDestinationPlayer setNumericValue: self getSourcePlayer getNumericValue + 25 >> >> >> Need some squeak coding help on this. I guess specifically, assuming I can figure out how to create a string with the correct code ... >> How do I "do it" to the string? > > > Compiler evaluate: '3 + 4' > > - Bert - ... and to be a bit less brief, a simple way to introduce variables is compiling a block: (Compiler evaluate: '[:a :b | a + b ]') value: 3 value: 4 Also see attached your project, enhanced. [I'd get rid of the D and S and the assignment, just have the kids enter "x + 25". Makes the veal code simpler. Also, watch out for "3 + 4 * 5" having not the same result as when using Etoys tiles. The way around that would be to implement an actual grammar for your functions, not just re-use the Smalltalk grammar] - Bert - _______________________________________________ etoys-dev mailing list [hidden email] http://lists.squeakland.org/mailman/listinfo/etoys-dev ConnectorMath.002.pr (67K) Download Attachment |
Thanks Bert!!!
Also see attached your project, enhanced. [I'd get rid of the D and S and the assignment, just have the kids enter "x + 25". Makes the veal code simpler. Also, watch out for "3 + 4 * 5" having not the same result as when using Etoys tiles. The way around that would be to implement an actual grammar for your functions, not just re-use the Smalltalk grammar] Good idea. I made the changes and am playing around with Compiler evaluate. _______________________________________________ etoys-dev mailing list [hidden email] http://lists.squeakland.org/mailman/listinfo/etoys-dev |
Free forum by Nabble | Edit this page |