gpt4 book ai didi

smalltalk - 试图从 OrderedCollection 中检索元素

转载 作者:行者123 更新时间:2023-12-05 01:22:19 24 4
gpt4 key购买 nike

我正在使用 pharo。我有一个 Car 类,它有一个 speed 变量和类端方法 withSpeed: aSpeed 设置 speed := aSpeed.

我正在 Playground 上尝试以下测试。

car := Car withSpeed: 20.
cars := OrderedCollection new.
cars add: car.

现在,我在 cars 集合中有一辆 car

我想得到 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com