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 |