It would be an overkill to do it for this particular case, but Smalltalk makes it possible to implement a case-like construction:
[ expression��]��
����������when: [ :value |��condition1 ] do: [-0do :value |��...��];��
����������when:��[ :value��|��condition2 ] do: [ :value |��...��];��
����������otherwiseDo: [ :value��|��...��];
�� �� ��evaluate
I am sure, something like this has been implemented already somewhere (maybe in Squeak?). Still not sure it is practical as compared to simple if-s, and for sure not widely used :)
...On the other hand, sometimes the case-like construction can be considered a more intension-revealing style.��