

Epic Answer - Avoiding If statements - sidmkp96
http://stackoverflow.com/questions/1337565/avoiding-if-statements

======
yen223
It's easy - use switch/case statements!

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

~~~
fzzzy
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.

------
andymoe
His idea in the second edit is similar to what is done with a lot of methods
in Cocoa and Cocoa Touch and so on: <http://cocoadev.com/wiki/MethodSwizzling>

------
amccloud
Wouldn't that be considered a state machine? I've done something with an audio
player. Each state was a different class.

