y:= 3。 Z:= 4。
h:='[x:= y + z。]'。
(BlockClosure readFromString:h)的值。将字符串分配给块并以小写形式执行它们
我有这样的代码,我正在尝试采取在Smalltalk语法的字符串,并试图把它放在一个块并执行它,但我得到它说的错误:
未处理的异常:消息不被理解#+
当我做东西像
h:='[x:= 3 + 4。]'。
(BlockClosure readFromString:h)value
它工作得很好。我不明白为什么会发生这种情况。我猜y不是指向任何东西,它不理解+方法。但是,为什么块不把y和z当作自由变量呢?
这对我来说会是这样的痛苦。但我认为你的回答是有道理的。谢谢! –