|
Re: subclasses detect: msg#00155lang.smalltalk.squeak.beginners
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@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxxxxxx >> http://lists.squeakfoundation.org/mailman/listinfo/beginners >> > _______________________________________________ > Beginners mailing list > Beginners@xxxxxxxxxxxxxxxxxxxxxxxxxx > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > -- View this message in context: http://www.nabble.com/subclasses-detect-tf4196202.html#a11935026 Sent from the Squeak - Beginners mailing list archive at Nabble.com.
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: subclasses detect, David Mitchell |
|---|---|
| Next by Date: | Re: subclasses detect, Steve Wessels |
| Previous by Thread: | Re: subclasses detect, David Mitchell |
| Next by Thread: | Re: subclasses detect, Steve Wessels |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |