die さんの PostScript 版を強引に (ry

die さんの PostScript 版Smalltalk で。ブロックからは exit できないんで、こねくり回していますが。w

case xあいさつ
case _ [: exp : array | | result | result _ nil. array pairsDo: [: e : b | (e = exp or: [result isNil and: [e = #else]]) ifTrue: [result _ b value]]. result]. xあいさつ _ [: x時間 | case value: x時間 value: { '朝'. ['おはよう']. '昼'. ['こんにちは']. '夜'. ['こんばんは']. #else. ['ちーす']}]. xあいさつ value: '昼' "=> 'こんにちは' "
xあいさつ value: '真夜中'   "=> 'ちーす' "