【发布时间】:2013-06-22 20:57:25
【问题描述】:
Transcript show: 'Derp'.
printSomething: 'Derpy'.
"The method above produced this error:"
"prog.st:3: expected expression"
printSomething: what
10 timesRepeat: [
Transcript show:what.
Transcript cr.
].
我现在正在尝试自学 Smalltalk,但我仍然不知道如何调用我编写的函数。我尝试使用语句printSomething: 'Derpy'. 调用带有参数'Derpy' 的函数printSomething,但它没有调用该函数,而是产生了以下错误:prog.st:3: expected expression。
我在这里做错了什么,在 Smalltalk 中调用带参数的函数的正确方法是什么?到目前为止,我读过的教程都没有回答我的问题,我还是有点困惑。
【问题讨论】:
-
您的代码中有大小写错误。方法名有一个大写的 P,但你试图用小写的 p 来调用它。
-
@fzwo 尽管如此,即使纠正了大写错误,也会产生相同的错误。我还没有弄清楚 Smalltalk 函数调用的正确语法。
-
下次添加一个标签,说明您使用的是哪个 Smalltalk。 GNU Smalltalk 和 Squeak/Pharo 在处理源代码方面的工作方式截然不同。