Stack Remove method bug?
Monkey Forums/Monkey Programming/Stack Remove method bug?| 
 | ||
| (V40) Should the Stack Remove method return an integer or the 'value'/object at a given index? In my application, I would have expected the following line to be valid but monkey is wanting to return an integer value, rather than a Card object, and thus won't compile. Local c:Card = pack.Remove(i) EDIT: (My 'pack' Stack is declared and initialized with Card instances, and my other 'pack'- related code functions as expected.) I'll post some runnable code if that will help. | 
| 
 | ||
| Hi, > In my application, I would have expected the following line to be valid Why? The docs don't say anything about returning the removed object... I guess it'd be more consistent with List's RemoveFirst/RemoveLast if it did though...will have a think about it. | 
| 
 | ||
| Hi, Oops...moved this without leaving a note in bug reports... | 
| 
 | ||
| I was thinking of 'Remove' as a sort of opposite to the 'Insert' method, which similarly operates on an index value. It's no big deal, I just wondered if Remove should return the removed 'object' or not. I had planned on using it for my stack shuffling method like so: 
	
  For Local n:Int = 1 To pack.Length()
    Local i:Int = Floor(Rnd(pack.Length()))
    Local c:Card = pack.Remove(i)
    i = Floor(Rnd(pack.Length()))
    pack.Insert(i, c)
  Next
But there are other ways: 
	
  For Local n:Int = 1 To (pack.Length() * 2)
    Local c:Card = pack.Pop()
    Local i:Int = Floor(Rnd(pack.Length()))
    pack.Insert(i, c)
  Next
		
 |