> From: Charles D Hixson > Sent: Tuesday, May 09, 2006 1:16 AM > > I know that in some languages this matters, and in others it doesn't.
If a method doesn't explicitly have a return value it will return self, but you should never count on that, small changes to the method will have a tendency to break your code. Especially when someone decides that the method should return something like true or false. If in your code you really want "self" back from a method you can protect yourself from this problem by adding ; to the end of your method call. For example: aFireman putOutFire may return nothing in which case the following would work since it returns self. aFireman putOutFire cleanUpMess. But if someone decides that putOutFire should return #smokeDamage then you would be in trouble. So it's better to write the code aFireman putOutFire; cleanUpMess. This says send the next message to the receiver object of the previous message and it translates as aFireman putOutFire. aFireman cleanUpMess. And if you haven't guessed aFireman putOutFire; cleanUpMess; driveBackToStation. Works too. Also sometimes what is returned can get in the way and if you really need to return self you should add the following. aFireman putOutFire; yourself. This way you could guarantee that the right object "self" ends up where it should. For example aFireStation medalCandidates add: (aFireman putOutFire; yourself). This makes sure that "self" is returned and changes to the implementation of putOutFire will not hurt your code. This is especially useful in collections, since add returns the object that was added and not the collection. aCollection := aCollection add: aFireman would set aCollection to aFireman, not what was intended. But aCollection := aCollection add: aFireman; yourself. Returns aCollection with an additional fireman in it. Hope that helps! Happy Coding!! Ron Teitelbaum President / Principal Software Engineer US Medical Record Specialists [EMAIL PROTECTED] _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners