<br><div class="gmail_quote">On Tue, Mar 1, 2011 at 3:05 PM, Steve Thomas <span dir="ltr">&lt;<a href="mailto:sthomas1@gosargon.com">sthomas1@gosargon.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Ricardo,<div><br></div><div>Thanks, actually what I need is to get the reference to the object from the External Name.</div></blockquote><div><br></div><div>The problem is that two or more objects could have the same external name. However, if you&#39;re sure only one object has a given external name you can get its reference by implementing the following method in the class side of Player:</div>

<div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><div class="gmail_quote"><div><div>withExternalName: aString</div><div> ^ (World findDeepSubmorphThat: [:each | each player externalName = aString] ifAbsent: []) player</div>

</div></div></blockquote><div class="gmail_quote"><div><br></div><div>And then you can get the reference from a script by sending: </div><div><br></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;">

<div class="gmail_quote"><div>(Player withExternalName: &#39;Texto&#39;)</div></div></blockquote><div class="gmail_quote"><div><br></div><div>I really don&#39;t know if there is a better way of doing this, but keep in mind that my &quot;solution&quot; is just a hack that goes through all the morphs in the world looking for the player with the given external name.</div>

<div><br></div><div>I hope this helps :)<br>Richo</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><br></div><div>What I am trying to do is something similar to <a href="http://rmod.lille.inria.fr/botsinc" target="_blank">Learn Programming with Robots by Stephane Ducasse</a>.  One of my goals is to find a way to provide a transition for kids from Etoys to Squeak and for me to play around and have fun ;)   In looking a at Ducasse&#39;s book, I am not really sure what value it adds to kids learning other than showing them the textual syntax of squeak as opposed to the tile version (except the some of the later chapters which introduce the browser, some debugging with halt, etc). Also some of the textual descriptions do not seem as effective or likely to be used by kids as some things that might be done in Etoys.</div>


<div><br></div><div>I really need to think about what for ?Computational Thinking? habits/experiences I want kids to have and how to create an Etoys that can facilitate learning them.</div><div><br></div><div>I think, this will take me quite a while  (but I&#39;m having fun ;).</div>


<div><br></div><div>In any case </div><div><br></div><div>Stephen</div><div><div></div><div class="h5"><div><br><div class="gmail_quote">On Tue, Mar 1, 2011 at 9:34 AM, Ricardo Moran <span dir="ltr">&lt;<a href="mailto:richi.moran@gmail.com" target="_blank">richi.moran@gmail.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Steve,<div><br></div><div>I don&#39;t think this is a bug. If I understood correctly, the name used to reference an object in a script is not supposed to be the same as the one displayed on the screen but a unique name that identifies only this object in the World. An object&#39;s external name can change at any time but the references to this object must remain consistent in all scripts.</div>




<div><br></div><div>I&#39;m not sure what you&#39;re trying to do, but you can get an object&#39;s displayed name by sending #externalName to the object. See the attached project for an example.</div><div><br></div><div>



Cheers,</div>
<div>Richo</div><div><br><div><br><div class="gmail_quote"><div><div></div><div>On Tue, Mar 1, 2011 at 2:51 AM, Steve Thomas <span dir="ltr">&lt;<a href="mailto:sthomas1@gosargon.com" target="_blank">sthomas1@gosargon.com</a>&gt;</span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>

See: <a href="http://tracker.squeakland.org/browse/SQ-903" target="_blank">http://tracker.squeakland.org/browse/SQ-903</a><div><br></div><div>If you change the name of an object, the name used to reference it in a script (via show code textually) does not change.</div>





<div>So how do I reference the name of the player (as displayed on the screen) in a script?</div><div><br></div><div><div>script4</div><div><span style="white-space:pre-wrap">        </span>| t1 t2 p1 selector |</div>
<div><span style="white-space:pre-wrap">        </span>p1 := Text3.</div><div><span style="white-space:pre-wrap">        </span>t1 := Command1 getCharacters.</div><div><span style="white-space:pre-wrap">        </span>t2 := 5.</div>
<div><span style="white-space:pre-wrap">        </span>selector := (t1 , &#39;:&#39;) asSymbol.</div><div><span style="white-space:pre-wrap">        </span>p1 perform: selector with: t2</div></div><div>
<br></div><div>In this above example I had a Text object where the screen showed its name (on page 2) as Text3, but when I used its characters tile in another Text object&#39;s script, it used the name Text4 in the text version of that script?</div>





<div><br></div><div>Stephen</div>
<br></div></div>_______________________________________________<br>
etoys-dev mailing list<br>
<a href="mailto:etoys-dev@squeakland.org" target="_blank">etoys-dev@squeakland.org</a><br>
<a href="http://lists.squeakland.org/mailman/listinfo/etoys-dev" target="_blank">http://lists.squeakland.org/mailman/listinfo/etoys-dev</a><br>
<br></blockquote></div><br></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br>