Question with boxing or passing references
Monkey Forums/Monkey Programming/Question with boxing or passing references
| ||
I forget if there's a way to do this properly in monkey, or if it cannot:Function Main:Int() Local mydata1:Int = 5 Local mydata2:Int = 6 Doit([mydata1, mydata2]) Print mydata1 Print mydata2 End Function Function Doit( arbitrary:Int[] ) arbitrary[0] = 7 End My intention is a game load state, with many variables that need to be loaded. Trying to avoid a long list of: varname = LoadSlotData(1) varname = LoadSlotData(2) varname = LoadSlotData(3) .. (50) ..etc... My guess is that since you can't do it in Java, you can't do it. |
| ||
That would require pointers. This is about all you could do for reading:Function Main:Int()
Local params:Int[] = New Int[2]
Doit(params)
Local mydata1:Int = params[0]
Local mydata2:Int = params[1]
End
Function Doit:Void(params:Int[])
For Local i:Int = 0 Until params.Length
' read into params[i]
Next
End |
| ||
| Ok, thanks, wanted to make sure there wasn't something I was overlooking. |
| ||
| "My intention is a game load state, with many variables that need to be loaded. Trying to avoid a long list of: varname = LoadSlotData(1) varname = LoadSlotData(2) varname = LoadSlotData(3) .. (50)" Is that so bad, anyway? At least it's maintainable. |
| ||
| I noticed there wasnt a "save game" module in the code archives, so was just trying to figure out a possible module that could take generic variables from a passed array. Not possible with monkey, thats ok. I have a save game module written, pretty basic that uses the save state function, but requires the assignments when loading. Just isnt as clean as I'd been aiming for. |