No need to have both if you are returning the receiver. ^ something aMsg ifNotNil: [ aNotherResult ]
For example try printing these two lines 1 ifNotNil: [ true ]. "true" nil ifNotNil: [ true ]. "nil" If you are interested in the implementation details I highly recommend to look at the implementation. ProtoObject>>ifNotNil: aBlock and UndefinedObject>>ifNotNil: aBlock. Peter On Tue, Jun 30, 2015 at 1:21 PM, abdelghani ALIDRA <alidran...@yahoo.fr> wrote: > Hi guys, > > what is the best way to express the following : > return (something aMsg) if it is not nil, return somethingElse elsewhere > > I could stil write: > > something aMsg > ifNil:[^ something aMsg] > ifNotNil:[^aNotherResult] > > but it sounds a little bit weird > > Regards. > > Abdelghani >