在Smalltalk中,whileTrue
消息是一个非常常见的控制流结构,用于在满足某个条件时重复执行一段代码。要实现这个消息,你需要定义一个方法,该方法接收一个块作为参数,并在满足条件时重复执行该块。
以下是一个简单的示例,展示了如何在Smalltalk中实现whileTrue
消息:
Object subclass: #MyClass
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'MyCategory'
MyClass >> whileTrue: aBlock
"Evaluate aBlock repeatedly as long as the receiver is true."
[ self ] whileTrue: aBlock
在这个示例中,我们定义了一个名为MyClass
的类,并为其添加了一个名为whileTrue:
的方法。这个方法接收一个块作为参数,并使用Smalltalk的whileTrue:
消息来重复执行该块,直到接收者(self
)不再为真。
要使用这个方法,你可以创建一个MyClass
的实例,并调用whileTrue:
方法,传入一个块作为参数,如下所示:
myInstance := MyClass new.
myInstance whileTrue: [
"Code to be executed as long as myInstance is true"
]
请注意,这个示例仅用于演示如何在Smalltalk中实现whileTrue
消息。在实际应用中,你可能需要根据具体需求进行调整。
领取专属 10元无门槛券
手把手带您无忧上云