[Newbies] subclasses detect

Offray Vladimir Luna Cárdenas offray.luna at javeriana.edu.co
Wed Aug 1 15:49:52 UTC 2007


Hi Steve,

I think that this tutorial is great. I would like to make a translation 
to Spanish for my students later this year. Have you consider releasing 
it under a Creative Commons license (or something similar) to make 
derivated works of it (like translations)?

Cheers and thanks for your tutorial,

Offray

Steve Wessels escribió:
> My God, that's funny.  
>
> Thank you for your kind words.  
>
> Squeak has a special place in my "heart" too.
>
> - Steve
>
> Sent from my iPhone
>
> On Jul 31, 2007, at 5:33 PM, gruntfuttuck <gruntfuttuck at gmail.com> wrote:
>
>
> Thanks Steve, loving the tutorial. I wouldn't have given squeak another try
> if it wasn't for your fabulous tutorial. 
>
> My Girlfriend asked my what I was thinking about, after sex, the other day.
> I didn't dare tell her, squeak code, so I said, our new home that we are
> getting together. 
>
>
>
>
> Steve Wessels wrote:
>
> David's message is excellent.  The idiom used by this method is useful to
> understand.  I actually make a point of describing it's role as a
> substitution for a Case statement in a section just a few pages later in
> the Tutorial.  Check out page 048A.html 
>
> - Steve
>
> Sent from my iPhone
>
> On Jul 31, 2007, at 4:00 PM, gruntfuttuck <gruntfuttuck at gmail.com> wrote:
>
>
> Thank you, that was very clear and helpful :-)
>
>
> David Mitchell-10 wrote:
>
> The message #subclasses returns a collection of Class objects
> The message #detect: returns the first object in that collection that
> matches the criteria in the block
>
> Since detect is the last message sent before the return, one class
> object will be returned.
>
> If more than one matches, the code will never know, since detect:
> returns on the first match. It won't evaluate to find the other match.
> That is, it short circuits the iteration.
>
> If you want to return a collection of matches, send the #select:
> message instead of #detect:.
>
> Nothing to do with class instance variables (those are rare birds --
> misused as often as they are needed).
>
> Also realize that the message isn't "subclasses detect". They are two
> separate messages. #detect: works with any collection. #subclasses
> returns a collection.
>
>
>
>
> On 7/31/07, gruntfuttuck <gruntfuttuck at gmail.com> wrote:
>
> Hello
>
> In the laser game tutorial by Stephan B Wessels I was intrerested by this
> code:
>
> directionFor: aSymbol
>       ^ self subclasses
>               detect: [:cls | cls directionSymbol = aSymbol]
>
> The code appears here at the bottom of the page:
> http://squeak.preeminent.org/tut2007/html/038.html
>
> What I read this code as doing, in this example is: return an symbol
> object
> which is a sublass instance varable, if it is the same as aSymbol.
>
> What would happen if more than one subclass object had a match?
>
> Also how else can subclasses detect: be used? It looks very interesting.
>
> Grunt
>
>
> --
> View this message in context:
> http://www.nabble.com/subclasses-detect-tf4196202.html#a11934239
> Sent from the Squeak - Beginners mailing list archive at Nabble.com.
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
>
>
>   


More information about the Beginners mailing list