我正在使用pharo
。我有一个具有Car
变量的speed
类和设置withSpeed: aSpeed
的类边方法speed := aSpeed.
我正在操场上尝试以下测试。
car := Car withSpeed: 20.
cars := OrderedCollection new.
cars add: car.
现在,我在
car
集合中有一个cars
。我想获得具有
speed = 20
的汽车,我正在尝试以下代码,但出现错误:result := cars select: [ :each | each withSpeed: 20. ].
知道出了什么问题吗?
最佳答案
鉴于您的Car
具有speed
的访问器,您只需执行
result := cars select: [ :each | each speed = 20. ].
这样一来,您获得速度
20
的所有汽车。如果只想要一个,则应使用detect:
myCar := cars detect: [ :each | each speed = 20. ].
实例变量的访问器(此处为
speed
)通常看起来像Car>>speed
^ speed
和
Car>>speed: anObject
speed := anObject.
关于smalltalk - 试图从OrderedCollection中检索元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30320263/