using TList for integers?
BlitzMax Forums/BlitzMax Beginners Area/using TList for integers?
| ||
have a look at this: Local sList:TList=CreateList() ListAddLast sList,"test" ListAddLast sList,"text" ListAddLast sList,"okay" For Local s:String=EachIn sList Print s Next End works okey dokey no problem but if i do this: Local iList:TList=CreateList() ListAddLast iList,12 ListAddLast iList,6 ListAddLast iList,78 For Local i:Int=EachIn iList Print i Next End no can do! how can i use lists for integers? i know how arrays work but was doing some testing then found that i couldnt use integer values in a list. am i missing something or is it impossible? |
| ||
You can't. Integers are not objects, and strings are. You would have to build a container object. |
| ||
okay thanks for that, thought i was doing something wrong :) |
| ||
This shows two ways, using Strings, or a container object. I used the object-orientated style of using lists, but you can use ListAddLast instead without any problem.Local list1:TList = New TList list1.AddLast("1") list1.AddLast("2") list1.AddLast("3") For Local i1:String = EachIn list1 Print i1 Print Int(i1) * 2 Next Type TInt Field v:Int Function Create:TInt(value:Int) Local i:TInt = New TInt i.v = value Return i End Function End Type Local list2:TList = New TList list2.AddLast(TInt.Create(1)) list2.AddLast(TInt.Create(2)) list2.AddLast(TInt.Create(3)) For Local i2:TInt = EachIn list2 Print i2.v Print i2.v * 2 Next |
| ||
Just as a side-note, TMaps are incredibly useful. Last year I'd never used them before, so I asked. Use them all the time now. They're better suited to many tasks than TLists are. |
| ||
yeah its lucky you asked, that thread really helped me to understand tmaps as well |