Smalltalk Variadic functions

Есть ли в Smalltalk (особенно Squeak / Pharo) какие-то вариативные функции?

Я только что читал о силе разработки собственных управляющих статусов в smalltalk, и хотя я большой поклонник ifTrue: ifFalse: I с трудом придумал хороший способ реализации произвольных операторов if, if else, if else, ..., else, думая, насколько полезными будут функции Variadic для реализации операторов case. Что-то вроде

false class

ifTrue: aBlock (... elseIf: aBoolean then: aSecondBlock ...) else: aLastBlock

vArgList pairsDo: [:x :y| x ifTrue:[^ (y value)] ].
^ aLastBlock
5
задан Roman A. Taycher 6 October 2010 в 12:11
поделиться