Il giorno mer, 07/02/2007 alle 13.42 -0500, Ron Teitelbaum ha scritto: > Hi Michael, > > It's a trick. It only works because #value: is implemented on symbol as: > > Symbol>>value: anObject > ^anObject perform: self. > > So the following works too. > > #asUppercase value: 'I am a trick' > > My suggestion is that you shouldn't follow such tricks. Although I do it > too sometimes with things like. > > aDictionary at: #foo ifAbsent: nil. > > Since nil responds self to #value it seems redundant to me to put the nil in > a block so that it can return nil when the block is evaluated with #value. > Even though in this case the execution is faster but in the case of sending > a symbol to select it is slower. > > In both cases it is harder to read so in my opinion it is best to stick with > arguments that are expected.
Not to mention the fact that if you use a Symbol instead of a block, that use won't be listed in the Senders browser. Giovanni _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners