On Sun, 10 Oct 2010, Igor Stasenko wrote:
On 10 October 2010 17:34, Randal L. Schwartz <merlyn@stonehenge.com> wrote:
"Igor" == Igor Stasenko <siguctua@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 ].
How would you implement #ifNotNil: to reflect this? Would you dispatch on the type of the argument? Levente
-- Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095 <merlyn@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.