我开始使用 Pharo 5 学习 Smalltalk。我现在正在按照squeak guy 的教程来正确掌握语法等。
我一开始,我只有两个类(一个用于单元测试的类 BlankCell 和一个 BlanCellTestCase 类)。Blankcell 已经实现了一些消息,我在第 1.9 节的最后。
行为很好地实现了,因为在操场上:
| cell exit |
cell := BlankCell new.
exit := cell exitSideFor: #north.
exit = #south
"the last statement properly returns a true or false"
在测试用例上有三个测试,只有一个失败(与exitSide有关):
testCellExitSides
"Test the exit sides."
| cell exit |
cell := BlankCell new.
exit := cell exitSideFor: #north.
self assert: [ exit = #south ].
exit := cell exitSideFor: #east.
self assert: [ exit = #west ].
exit := cell exitSideFor: #south.
self assert: [ exit = #north ].
exit := cell exitSideFor: #west.
self assert: [ exit = #east ].
错误信息是
MessageNotUnderstood:BlockClosure>>ifFalse:
doesNotUnderstand
消息被发送一个指向句子的参数[ exit = #south ]
有谁知道这里可能发生了什么?