我目前正在上的一门课要求我们在 smalltalk 中完成所有编码(这是一门设计课)。在我们的一个项目中,我想做一些事情,但很难找到如何去做。似乎大多数人所做的只是修改他们自己的 smalltalk 版本来做他们需要它做的事情。我不能这样做,因为当我的教授没有与我相同的内置方法时,这会导致我的教授的计算机出现错误。
这是我想要做的:
随机数。我需要创建一个介于 1 到 1000 之间的随机数。现在我正在通过这样做来伪造它
rand := Random new.
rand := (rand nextValue) * 1000.
rand := rand asInteger.
这给了我一个 0 到 1000 之间的数字。有没有办法在一个命令中做到这一点?如同
Random between: 0 and: 1000
和/或语句。这让我大吃一惊。我尝试了几种不同的配置
(statement) and: (statement) ifTrue...
(statement) and (statement) ifTrue...
所以我用嵌套的 ifTrue 语句来伪造它:
(statement) ifTrue:[
(statement) ifTrue:[...
在smalltalk中做和/或随机的正确方法是什么?