public override string ToString()
{
switch( type )
{
case VarType.Null: return string.Format( "SGScript.Variable(null)", var.type );
case VarType.Bool: return string.Format( "SGScript.Variable(bool [{0}])", var.data.B != 0 ? true : false );
case VarType.Int: return string.Format( "SGScript.Variable(int [{0}])", var.data.I );
case VarType.Real: return string.Format( "SGScript.Variable(real [{0}])", var.data.R );
case VarType.String: string s = GetString(); return string.Format( "SGScript.Variable(string [{0}] \"{1}\")", s.Length, s );
default: return string.Format( "SGScript.Variable(typeid={0} ptr={1})", (int) var.type, var.data.P );
}
}