On Sun, 10 Oct 2010, Igor Stasenko wrote:

On 10 October 2010 17:34, Randal L. Schwartz <[email protected]> wrote:
"Igor" == Igor Stasenko <[email protected]> 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
<[email protected]> <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.

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to