将方法名称作为字符串给出时,如何调用Squeak方法?

时间:2014-12-11 08:06:11

标签: smalltalk squeak

如果将方法名称作为字符串,我如何调用Squeak方法? 有可能吗?

1 个答案:

答案 0 :(得分:6)

尝试:

perform: aSymbol
perform: aSymbol with: anObject
perform: aSymbol withArguments: anArrayOfArguments

其中aSymbol是您的方法选择器。 例如,您可以写下1 + 2代替:

1 perform: #+ with: 2

如果您的方法选择器存储为String,则必须先将其转换为Symbol

1 perform: '+' asSymbol with: 2

5 perform: 'raisedTo:modulo:' asSymbol withArguments: #(2 3)