我有很多时间了解我在squeak程序中遇到的错误,并且无法修复和调试它.就像在这种情况下:
我写的以下代码是squeak中的smalltalk语言:
initilize
super initialize.
path := OrderedCollection new.
Run Code Online (Sandbox Code Playgroud)
-
drawOn: aCanvas
| colors |
colors := Color wheel: 10.
colors withIndexDo:[:c :i |
aCanvas fillOval: (self bounds insetBy: self width/25*i+1 )
color: c
].
Run Code Online (Sandbox Code Playgroud)
-
handlesMouseDown: evt
^true.
Run Code Online (Sandbox Code Playgroud)
-
mouseDown: evt
self position: self position + (10@0).
Run Code Online (Sandbox Code Playgroud)
-
startAnimation
path reset.
0 to: 9 do: [:i | path add: self position +(0@(10*i))].
path := path, path reverse.
self startStepping.
Run Code Online (Sandbox Code Playgroud)
-
step
path size > 0 ifTrue: [self position: path removeFirst].
Run Code Online (Sandbox Code Playgroud)
这是我在工作区中编写的代码:
myMorph := TestMorph new openInWorld.
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误,我写了一些关于"步"方法中"大小"问题的东西可以有人看到问题吗?
当您收到有关UndefinedObject它的错误消息时,通常意味着某些变量未正确初始化,它具有该值nil.
错误是你拼错了 initialize
你改写了initilize.创建对象时不调用此方法,因此path实例变量是undefined(nil).