|
From: Fabio Filasieno <fabio.filasieno <at> gmail.com>
Subject: First post here ... few days on Squeak ... some questions .... Newsgroups: gmane.comp.lang.smalltalk.squeak.general Date: 2007-08-24 20:57:48 GMT (47 weeks, 6 days, 17 hours and 41 minutes ago) II'm new at Smalltalk and I have a few questions. """Why smalltalk has no operator for piping ?"""" obj collect: [ :x | …] | filter: [:x | …] | select: [:x | …] ? but has the `;` (cascade operator)? I don’t care to send messages to the reciever of the previous message, because I return self when no return value is important; for instance …. point x: 10 | y: 20 | z: 30 x returns self, y returns self, z returns self -> which is the updated point. works exactly as: point x:10; y:20 ; z:30. But you lose PIPES !!!!! Can somebody elaborate on this ? There might be cases where I'm returning a value and I wish to discard it and then send again to the previous receiver ... but I really don't like to loose the pipe for that ... since I can do that returning self. With Smalltalk ... we've got a homoiconic language and the system written in it self, a consistent language in everything, even the if- then-else that everybody else still don't get right; we've got the most wonderful programming experience of all, even better that Ruby/ Python etc ... but why on earth we have the "cascade operator" instead of the PIPE ????? What I'm I missing ? I need the `|` to avoid parenthesis, and weird hacks ... Fabio |
|
|