smalltalk吱吱声错误:“undefinedObject的实例不可索引”

时间:2014-05-22 12:26:13

标签: smalltalk squeak

我有很多时间理解我在squeak程序中遇到的错误,并且无法修复和调试它。就像在这种情况下:

我在squeak中写了以下代码是smalltalk语言:

initilize

super initialize.
path := OrderedCollection new.

-

drawOn: aCanvas
| colors |
colors := Color wheel: 10.
colors withIndexDo:[:c :i | 
aCanvas fillOval: (self bounds insetBy: self width/25*i+1 )
color: c
].

-

handlesMouseDown: evt
^true.

-

mouseDown: evt

self position: self position + (10@0).

-

startAnimation

    path reset.
    0 to: 9 do: [:i | path add: self position +(0@(10*i))].
    path := path, path reverse.
    self startStepping.

-

step

path size > 0 ifTrue: [self position: path removeFirst].

这是我在工作区中编写的代码:

myMorph := TestMorph new openInWorld.

但是我收到了错误,我写了一些关于“步骤”方法中“大小”问题的内容 有人能看到问题吗?

1 个答案:

答案 0 :(得分:5)

当您收到有关UndefinedObject的错误消息时,通常意味着某些变量未正确初始化,其值为nil

错误是您拼写错误initialize

您改为编写initilize。创建对象时不调用此方法,因此path实例变量是undefined(nil)。