I'll start off by talking about all the uses I have found for the # operator.
description: # is used to take the contents of a string and treat it as a variable.
Example:
"pict1"=>var StoPict #var
could be written
StoPict pict1
and have the same effect.
this allows us to dynamically creat variables, weather from user input or something generated in the code.
Uses:
1) one of the simplest and most practical uses is for storing pictures, as in caspaints layers, you can the user enter a name for their pict then store that picture with the name they entered. this is true af just about any kind of storage.
2) super lists: I havent done this one yet, but it will work. say you want to use a matrix to store strings, but matrixes can only hold numbers... well, if not for the # operator you'd be screwed, but say you used this:
{"row1","row2","row3","row3","row4","row5"}=>Mat for 1=>t to 5 Mat[t]=>tmp {"","","","",""}=>#tmp Next
Now do you know what you've got? you have a list inside each cell of another list, a matrix! Here is a function you can use to store values to it:
Name:StoMat, Parameters: name,x,y,var local name,x,y,var,tmpmat,rowname,tmprow lbl StoMat #name=>tmpmat tmpmat[y]=>rowname #rowname=>tmprow var=>tmprow[x] tmprow=>#rowname Return
cool eh? you can use a similar function to recall values:
Name:RclMat, Parameters: name,x,y,var local name,x,y,var,tmpmat,rowname,tmprow lbl StoMat #name=>tmpmat tmpmat[y]=>rowname #rowname=>tmprow tmprow[x]=>#var Return
this stores the returned value into the variable in var, so you can specify where you want it.
3) 3 dimentional matrixes: using the list in a list technique you can also create 3 dimentional matrixes, you just make the contents of the "row" cells also lists.
4) Object oriented programming: I cant think of a way to properly explain this, basically it uses the # to create new variables, these variables could be used as a "class", heres a small example:
say you generated this list with your code: {Name,Lvl,X,Y}=>#Class //Class is currently "Player"
you could change the value of Class and generate a new "Player" type list, with its own values, and as long as you kept track of them in a list or something you could have as many as you want
see what I mean?
I'm sure theres more I havent thought of yet, but when I do I'll post about it