5 comments

[ 5.4 ms ] story [ 22.6 ms ] thread
Wouldn't that be considered a state machine? I've done something with an audio player. Each state was a different class.
(comment deleted)
It's easy - use switch/case statements!

But seriously, isn't it true that Smalltalk doesn't have if statements?

Yes. Smalltalk has the ifTrue: and ifFalse: methods on the Boolean object.

  x > y ifTrue: [ Transcript show: 'Truthy' ]
So it is using polymorphism as the main mechanism. The True object implements ifTrue: by evaluating the block argument and implements ifFalse: by doing nothing. The False object does the opposite.