跳至內容

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
華夏公益教科書