我正在尝试理解smalltalk,并尝试使用gnu-smalltalk编写以下简单代码:
Object subclass: Myclass[
myMethod: val [val printNl]
]
mc := Myclass new.
mc myMethod: "55".但是,它不起作用,并给出以下错误:
$gst simpleclass.st
simpleclass.st:6: expected object我以为"55"是smalltalk中的一个对象。
显然,我遗漏了一些非常基本的东西,但我不能弄清楚。谢谢你的帮助。
发布于 2019-05-01 11:26:15
原因是
mc := Myclass new.
mc myMethod: "55".不工作很简单:在Smalltalk中,双引号字符串是注释。因此,对于编译器,您的表达式等同于:
mc myMethod:就好像没有任何争论一样。预期的表达式应该是
mc myMethod: 55 "and now this should work!"https://stackoverflow.com/questions/55931086
复制相似问题