[squeak-dev] Compiler pedantic about ifNotNil: argument

Igor Stasenko siguctua at gmail.com
Sun Oct 10 17:09:28 UTC 2010


On 10 October 2010 17:34, Randal L. Schwartz <merlyn at stonehenge.com> wrote:
>>>>>> "Igor" == Igor Stasenko <siguctua at gmail.com> writes:
>
> Igor> i am also missing:
>
> Igor> someThing ifTrue: 1 ifFalse: 0
>
> Down that path lies ambiguity though.
>
> If you had
>
>  actionSymbol := aBoolean ifTrue: #doThis else: #doThat.
>
> do you want the symbol assigned, or performed?
>
> Please don't add so much dwimmery here.  I like it that Smalltalk is
> fairly strict with these basic forms.

what dwimmery you talking about?

b :=  [ 15 ].
a :=  [ 16 ].

true ifTrue: a ifFalse: b
16

as well as:

b :=  15 .
a :=  16 .

true ifTrue: a ifFalse: b
16

works well.


In this way,

answer := process ifNotNil: #terminate.

should be equivalent to:

answer := process notNil ifTrue: #terminate

but not to:

answer := process notNil ifTrue: [ process terminate ].


>
> --
> Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
> <merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
> Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
> See http://methodsandmessages.posterous.com/ for Smalltalk discussion
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list