Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Declaración De Matriz

Declaración De Matriz
Artículo
Responder citando    Descargar mensaje  
Mensaje Declaración De Matriz 
 
Estoy empezando a programar con gambas y tengo una duda. A la hora de declarar una matriz pongo Dim alumnos[2, 2] As String y me da un mensaje de error "Matrices incrustados están prohibidos aquí". No se que es lo que estoy haciendo mal.



 
loquox - Ver perfil del usuario Enviar mensaje privado  
loquox [ Sabado, 03 Noviembre 2012, 12:47 ]
 


Declaración De Matriz
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Declaración De Matriz 
 
Los arrays nativos (o embebidos, como los llama Benoit) no se pueden declarar como variables locales ni pueden ser públicos en Gambas3.

http://gambasdoc.org/help/lang/arraydecl

Si realmente necesitas declarar una variable local o pública de algún tipo de array, prueba a declararla de forma dinámica de esta forma:

DIM alumnos AS NEW String[2, 2]


Saludos



 
jguardon - Ver perfil del usuario Enviar mensaje privado  
jguardon [ Sabado, 03 Noviembre 2012, 13:10 ]
Responder citando    Descargar mensaje  
Mensaje Re: Declaración De Matriz 
 
Incluir la sentencia o comando NEW fue por algún motivo en especial, ¿ no ?.

Yo no solía usar NEW

Public nombres[3, 3] As String
 


Estaba usándola como la declaración de (arreglo,array,matriz) estatico.

[ STATIC ] { PUBLIC | PRIVATE } Identificador [ Array dimensions ... ] AS Native Datatype

Cuando la declaración debe ser:

Public|Private|DIM Identificador AS [ NEW ] TipodeDato [ DimensionArreglo ... ]

Saludos.



 
última edición por Shell el Sabado, 03 Noviembre 2012, 14:15; editado 1 vez 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Sabado, 03 Noviembre 2012, 14:14 ]
Responder citando    Descargar mensaje  
Mensaje Re: Declaración De Matriz 
 
Shell escribió: [Ver mensaje]
Incluir la sentencia o comando NEW fue por algún motivo en especial, ¿ no ?.


NEW es un operador. Sirve para reservar memoria dinámica para el objeto que estás creando, en definitiva para instanciar un nuevo objeto del tipo especificado.

En el ejemplo se está declarando e instanciando en la misma línea, pero también se puede declarar sin New e instanciar nuevas clases después, cuando sea necesario, por ejemplo:

Private alumnos as String[] ' global (de clase)

' y dentro de un método

Public MetodoX()

    Dim profesores As Integer[] ' local

    alumnos = New String[2, 2]

    profesores = New Integer[]
    
End


No creo que una forma sea mejor que la otra, es cuestión de las necesidades de cada uno.


Saludos



 
jguardon - Ver perfil del usuario Enviar mensaje privado  
jguardon [ Sabado, 03 Noviembre 2012, 14:30 ]
Responder citando    Descargar mensaje  
Mensaje Re: Declaración De Matriz 
 
Muchas gracias por todo.



 
loquox - Ver perfil del usuario Enviar mensaje privado  
loquox [ Domingo, 04 Noviembre 2012, 14:59 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron