Phil,

I see your point but disagree.
I don't use Pharo regularly, so I cannot currently check if the implementation around this emptiness check is complete.

With complete I mean that following your logic, theere should be at least implementations of

ifEmpty:
ifNotEmpty:
ifEmpty:ifNotEmpty:
ifEmptyOrNil:
ifEmptyOrNil:otherwise:

I really have to check for the size of collections very often, and the size of 1 is a very frequent case. So why not add:

ifExactlyOne:
ifSizeIs:do:
ifSizeIsGreaterThan:do:otherwiseDo:

You get the picture. I strongly believe this leads to pollution and ends up in a mess. We could save so much typing and make our programs so much more readable if we only were a bit more creative, right? ;-) A DSL is another story, though. If you write a Library that makes handling Collections nicer, this is okay and the methods are good to exist in its context. But they shouldn't necessarily all be part of the base image.


Don't get me wrong: if you and the Pharo community agree on lots of convenience methods, that is okay for me, and I find myself adding such methods to VA Smalltalk from time to time. I appreciate many of them being brought to VA ST in Grease.

Sometimes, this is simply a question of taste, sometimes it saves typing, sometimes it helps to improve readability of code.

But I wouldn't go so far to tell people they should better use such a method as a general advice. I would probably tell them: "look, here's a method I find much more elegant, you could *also* use that to save typing/increase readability".

Just my 2 cents, and highly off topic ;-)

Joachim




Am 01.11.16 um 08:43 schrieb p...@highoctane.be:
Because I grew tired of the isEmpty ifTrue: [ ] all over the place.
And ifEmpty has the right semantics for my use cases (like assignment).

I do not really care about portability, I am doing Pharo only.

Phil

On Mon, Oct 31, 2016 at 5:30 PM, jtuc...@objektfabrik.de <mailto:jtuc...@objektfabrik.de> <jtuc...@objektfabrik.de <mailto:jtuc...@objektfabrik.de>> wrote:

    Am 31.10.16 um 15:59 schrieb p...@highoctane.be
    <mailto:p...@highoctane.be>:
    but you should use myCollection ifEmpty: [ ... ]

    interesting. Why do you think so? what if you wanted your code to
    be portable across Smalltalk dialects?








-- -----------------------------------------------------------------------
    Objektfabrik Joachim Tuchelmailto:jtuc...@objektfabrik.de
    Fliederweg 1http://www.objektfabrik.de
    D-71640 Ludwigsburghttp://joachimtuchel.wordpress.com
    <http://joachimtuchel.wordpress.com>
    Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1

--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          mailto:jtuc...@objektfabrik.de
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1

Reply via email to