You summarise well the kind of code I do not like.
isNil everywhere and horrible tests.

Stef


Le 4/1/15 23:27, Sebastian Sastre a écrit :
Hi guys,

I’ve started to use this little one:

Object>>ifNilOrEmpty: aBlock

        self ifNil: [ ^ aBlock value ].
        
        (self isCollection and: [
        self isEmpty ]) ifTrue: [ ^ aBlock value ].

        ^ self.


It allows you to do the widely known JavaScript one-liner:

var stuff = this.thing || ‘some default value for when this.thing is undefined, 
null or an empty string’.

but in smalltalk in this way:

stuff := self thing ifNilOrEmpty: [ ‘some default value for when self thing is 
nil or an empty string’ ]

simple thing feels practical and nice :)





Reply via email to