Citar:
Fijate la diferencia...:
- Si usas add() lo que haces es insertar la denominación interna de la variable (String[] 0xbfad38)
- Si usas insert(), lo que haces es insertar valor por valor lo que le pases, (si es un array de cadenas de caracteres (string[]), lo que le insertas es el valor de cada uno de ellos, uno por uno.
¿que utilidad tiene esto? ¿un ejemplo?
Ademas del ejemplo que ha puesto Shordi, nos puede valer para los juegos.
Imaginate un tablero de ajedrez, en una posicion determinada de las piezas en el tablero, para tener un listado de posibles movimientos, (y esos movimientos a su vez tienes varias coordenadas (posicion de salida y posicion de llegada)), se pueden organizar mediante estas listas que contienen a su vez listas.
En python se podria hacer asi:
def main():
lista=[[[1,2],[1,3]],[[1,2],[1,-2]]]
print lista[0]# movimiento 1º almacenado de la misma pieza
print lista[1]# movimiento 2ºalmacenado de la misma pieza
print lista[0][1] #coordenada 2º del movimiento 1º
pass
if __name__ == '__main__':
main()
lista=[[[1,2],[1,3]],[[1,2],[1,-2]]]
print lista[0]# movimiento 1º almacenado de la misma pieza
print lista[1]# movimiento 2ºalmacenado de la misma pieza
print lista[0][1] #coordenada 2º del movimiento 1º
pass
if __name__ == '__main__':
main()
dim p1a as integer[]=[1,2] 'posicion de partida
dim p1b as integer[]=[1,3]'posicion de llegada
dim mov1 as variant[]'contiene el 1º movimiento
dim p2a as integer[]=[1,2] 'posicion de partida
dim p2b as integer[]=[1,-2] 'posicion de llegada
dim mov2 as variant[]'contiene el 2º movimiento
dim lista as variant[]
mov1.add(p1a)
mov1.add(p2a)
mov2.add(p2a)
mov2.add(p2b)
lista.add(mov1)
lista.add(mov2)
lista[0][1] ' -> FIJAOS!!! esta forma es la misma que funciona con python!!!
dim p1b as integer[]=[1,3]'posicion de llegada
dim mov1 as variant[]'contiene el 1º movimiento
dim p2a as integer[]=[1,2] 'posicion de partida
dim p2b as integer[]=[1,-2] 'posicion de llegada
dim mov2 as variant[]'contiene el 2º movimiento
dim lista as variant[]
mov1.add(p1a)
mov1.add(p2a)
mov2.add(p2a)
mov2.add(p2b)
lista.add(mov1)
lista.add(mov2)
lista[0][1] ' -> FIJAOS!!! esta forma es la misma que funciona con python!!!
La variable lista, contine los dos posibles movimiento. (es la forma que se me ha ocurrido de hacerlo), y la forma de extraer informacion es igual como se hace en python
Como se ve, en python, el codigo es mucho más simple, limpio y claro. (por lo menos al crear la lista) (extrer información es igual!!)
Nota:
Aunque el código de la lista que he creado en gambas, es largo y parece complicado, en el programa de damas inglesas que hice hace tiempo, use clases para organizar este tipo de datos... algo que creo que quedaba menos claro y limpio (por ejemplo salian nombres larguisimos (ejemplo: jugada[0].movimiento[0].posicion[1]) para poder obtener los datos de las coordenadas, ahora simplemente se haria lista[0][1])
Citar:
Pues si puede ser interesante...