跳至内容

BlitzMax/语言/集合

来自维基教科书,一个开放世界的开放书籍

BlitzMax 提供一个简单的支持,用于管理对象集合,以及使用一种特殊的 For/Next 循环访问集合中的每个对象。

最简单的集合类型是数组

Local a[]=[1,2,3,4,5]
For Local k=EachIn a
Print k
Next

此类循环的每次迭代都会将下一个数组元素(从元素 0 开始)分配给索引变量,然后执行循环体。这允许您依次“访问”每个数组元素。

还可以使用用户定义类型创建自己的集合类型。

要执行此操作,必须创建一个包含命名为 ObjectEnumerator 的方法的用户定义类型,该方法不采用任何参数并返回一个对象。此方法返回的对象本身必须具有以下方法

Method HasNext:Int()  'returns true if there's a next object
Method NextObject:Object() 'returns the next object

之后,您可以在 For/Next 循环中使用此对象

Local list:TList=New TList
list.AddLast "Hello"
list.AddLast "World!"
For Local t$=EachIn list
Print t
Next
华夏公益教科书