如何在 Squeak 中调用方法?
How can I call a method in Squeak?
我正在调查 Squeak Smalltalk。我以某种方式定义了一个初始化并打印初始值的对象(相关说明在作业中)。然后我不得不定义一个方法(getName
),我做了,但我不知道如何在工作区中调用该方法。
为了测试初始化,我使用了
a := Animal new.
Transcript show: a; cr.
但除此之外,我只是不知道该怎么做。我尝试了 a getName
和 a.getName
,等等。什么是正确的方法?
请帮忙!我什至不知道 Google.
好的,我想我明白了。确实是a getName
,但这样的行与return值无关。所以我用了 Transcript show: a getName; cr.
并且成功了! Transcript 似乎也是一个对象,:
是传递参数的方式。
在 Smalltalk 中,您向接收者发送消息。
例如
Animal new
将 new
消息发送到 Class Animal
.
这是 一元消息 的示例。
Transcript show: a
将 show:
消息发送到 Class Transcript
,参数为 a
。
这是 关键字消息.
的示例
Transcript cr
将消息 cr
发送到 Class Transcript
.
这是 一元消息 .
的另一个示例
Transcript show: a ;
cr .
这是一个 消息级联 的示例,其中连续的几条消息被发送到同一个接收方。
在消息级联中,您只需输入一次收件人姓名,使用;
分隔每条消息的其余部分。
Transcript show: a ;
cr .
在 Smalltalk 中,有参数的关键字必须有冒号后缀。
约定是简单访问器使用与它们访问的实例变量相同的名称; Class Object
的实例将具有 anObject
.
形式的变量名
所以一个名为 name
的实例变量会有一个名为 name
的 getter 和一个名为 name:
的 setter
按照惯例,我们会有:
anAnimal := Animal new.
Transcript show: anAnimal name ;
cr .
在这里,我们将 name
消息发送到 anAnimal
。它 return 是一种动物的名字。作为一元消息,它的优先级高于关键字消息 Transcript show: <something>
,因此首先被评估。 anAnimal name
消息中的 return 成为 Transcript show: <something>
消息的参数。
你可以自己看看。在工作区中,突出显示 anAnimal name
,然后单击并选择 'Inspect it'。这将调出一个 Inspector window,它会向您显示由 anAnimal name
消息 return 编辑的对象。
这些答案可以帮助您理解:
Explain a piece of Smalltalk code
Keyword messages in smalltalk
本文 Beginning to Smalltalk: Hello World 使用 Transcript show: 'Hello World'
.
对其进行了更详细的介绍
我正在调查 Squeak Smalltalk。我以某种方式定义了一个初始化并打印初始值的对象(相关说明在作业中)。然后我不得不定义一个方法(getName
),我做了,但我不知道如何在工作区中调用该方法。
为了测试初始化,我使用了
a := Animal new.
Transcript show: a; cr.
但除此之外,我只是不知道该怎么做。我尝试了 a getName
和 a.getName
,等等。什么是正确的方法?
请帮忙!我什至不知道 Google.
好的,我想我明白了。确实是a getName
,但这样的行与return值无关。所以我用了 Transcript show: a getName; cr.
并且成功了! Transcript 似乎也是一个对象,:
是传递参数的方式。
在 Smalltalk 中,您向接收者发送消息。
例如
Animal new
将 new
消息发送到 Class Animal
.
这是 一元消息 的示例。
Transcript show: a
将 show:
消息发送到 Class Transcript
,参数为 a
。
这是 关键字消息.
Transcript cr
将消息 cr
发送到 Class Transcript
.
这是 一元消息 .
Transcript show: a ;
cr .
这是一个 消息级联 的示例,其中连续的几条消息被发送到同一个接收方。
在消息级联中,您只需输入一次收件人姓名,使用;
分隔每条消息的其余部分。
Transcript show: a ;
cr .
在 Smalltalk 中,有参数的关键字必须有冒号后缀。
约定是简单访问器使用与它们访问的实例变量相同的名称; Class Object
的实例将具有 anObject
.
所以一个名为 name
的实例变量会有一个名为 name
的 getter 和一个名为 name:
按照惯例,我们会有:
anAnimal := Animal new.
Transcript show: anAnimal name ;
cr .
在这里,我们将 name
消息发送到 anAnimal
。它 return 是一种动物的名字。作为一元消息,它的优先级高于关键字消息 Transcript show: <something>
,因此首先被评估。 anAnimal name
消息中的 return 成为 Transcript show: <something>
消息的参数。
你可以自己看看。在工作区中,突出显示 anAnimal name
,然后单击并选择 'Inspect it'。这将调出一个 Inspector window,它会向您显示由 anAnimal name
消息 return 编辑的对象。
这些答案可以帮助您理解:
Explain a piece of Smalltalk code
Keyword messages in smalltalk
本文 Beginning to Smalltalk: Hello World 使用 Transcript show: 'Hello World'
.