3

BlockClosure にちょっとしたカリー化を追加して遊んでいます。

動的に実行するには (つまり、元のブロックのさまざまな数の引数のすべてのケースをハードコーディングしない)、さまざまな数の引数を渡すために、BlockClosures を動的に構築する必要があります。

ある種の動的な評価/コンパイルが含まれていても、それを行う方法はありますか?

4

2 に答える 2

2

以下はあなたが探しているものですか?ワークスペースで試してください:

|myBlock|
myBlock := Compiler evaluate: '[ 1 + 2 ]'.

これで、文字列からブロックがコンパイルされました。

myBlock class -> BlockClosure

そしてそれを評価することができます:

myBlock value -> 3
于 2013-09-28T14:25:26.477 に答える