Pages: [1]   Go Down
Print
Author Topic: Problema inserimento lista  (Read 3511 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
Naive
Matricola
*
Offline Offline

Posts: 57


Impossible is Nothing


« on: 09-04-2010, 19:10:06 »

Ragazzi non riesco a capire perchè non mi inserisce nella lista vi posto il codice...se c'è qualcuno che mi può aiutare è 3 giorni che sclero con questo coso!!!!
Quote
Class nodo
nodo instproc init {idUnivoco} {
$self set RoutingTable_ {}
$self set SourceTable_ {}
$self set idUnivoco_ $idUnivoco
$self set temp_table_ {}
$self next
}




set n [new nodo 10]

lappend [$n set RoutingTable_] "ciao1"
linsert [$n set RoutingTable_] 0 "ciao2"
puts [llength [$n set RoutingTable_]]
puts [lindex [$n set RoutingTable_] 0 ]
Logged
shiny
Forumista
***
Offline Offline

Posts: 810



WWW
« Reply #1 on: 10-04-2010, 13:56:22 »

linsert [$n set RoutingTable_] 0 "ciao2"

Code:
$n set RoutingTable_ [linsert [$n set RoutingTable_] 0 "ciao2"]
questa e' la corretta sintassi dato che linsert prende il valore della lista come parametro (e non il suo riferimento) e quindi non puo' modificare la stessa...

lappend [$n set RoutingTable_] "ciao1"
questa e' una cosa sbagliatissima e non so come mai non ti dia errore... te passi il valore di RoutingTable_ , se per esempio questa vale { ciao ciao1 } lappend essendo che richede in input un riferimento va a cercare il riferimento della variabile 'ciao ciao1' che naturalmente non esiste...

le sintassi dei 2 comandi sono differenti, ti faccio un esempio
Code:
set mylist [list first second]
set mylist [linsert $mylist 0 zero]
lappend mylist third

nota che linsert ha $mylist come parametro mentre lappend prende mylist senza $ come parametro...
   
Logged
Naive
Matricola
*
Offline Offline

Posts: 57


Impossible is Nothing


« Reply #2 on: 10-04-2010, 14:29:59 »

Ok linsert l'ho capito ero io cretino Cheesy...invece non ho capito nel mio caso come posso utilizzare lappend senza il dollaro essendo che prima devo accedere al nodo e poi alla lista....
Logged
shiny
Forumista
***
Offline Offline

Posts: 810



WWW
« Reply #3 on: 10-04-2010, 14:40:09 »

puoi accedere al riferimento solo se fai instvar var... naturalmente lo puoi fare solo internamente alla classe...
Logged
Naive
Matricola
*
Offline Offline

Posts: 57


Impossible is Nothing


« Reply #4 on: 10-04-2010, 14:56:21 »

Quindi se faccio un metodo internamente alla classe nodo che mi riotrni la lista dovrebbe funzionare?oppure no?
Logged
Naive
Matricola
*
Offline Offline

Posts: 57


Impossible is Nothing


« Reply #5 on: 10-04-2010, 15:18:03 »

ok ho risolto ho fatto un metodo di inserimento nella classe nodo e poi richiamo il metodo con il valore che devo inserire!
Logged
Pages: [1]   Go Up
Print
Jump to: