Более длинный ответ.
Чтобы передать часть исполняемого кода методу, используйте блок.
Определение метода
method: aBlock
aBlock value
и вы выполняете его следующим образом
object method: [ Transcript show: 'hello' ].
если вы хотите передать параметр в фрагмент кода, используйте блок с аргументом.
Определение метода
method: aBlock
aBlock value: 'parameter'
и вы выполняете это следующим образом
object method: [ :arg | Transcript show: arg ].
то же самое можно сделать с 2 или неограниченными параметрами, используя методы value:value:
и valueWithArguments:
блока.
Если вы передаете символ, вы также можете использовать value:
для его выполнения. Символ фактически эквивалентен блоку вида [ :arg | arg symbol ]
.