2009/4/18 Alpt <[email protected]>:
> On Sat, Apr 18, 2009 at 12:06:01AM +0200, <Luca Dionisi>:
> ~> Ho anche iniziato a fare una test-suite per
> ~> verificare la correttezza delle operazioni fatte in etp_exec e vedo
> ~> risultati non corretti.
>
> quali?

Nel mio debug vedevo routes a vari livelli laddove sarebbe stata
adeguata solo una route al livello 0.
Trovato il problema.

(Pdb) self.node[0][0]
<ntk.core.route.RouteNode object at 0x402c056c>
(Pdb) self.node[0][1]
<ntk.core.route.RouteNode object at 0x402c05b4>
(Pdb) self.node[1][0]
<ntk.core.route.RouteNode object at 0x402c056c>

Notare gli indirizzi di memoria.
Cioè ancora più chiaro:
>>> a = [[None] * 2] * 3
>>> a
[[None, None], [None, None], [None, None]]
>>> a[0][1] = 2
>>> a
[[None, 2], [None, 2], [None, 2]]
>>>

Invece bisogna fare:
>>> a1 = [None] * 2
>>> a = []
>>> for i in xrange(3):
...  a.append(a1[:])
...
>>> a
[[None, None], [None, None], [None, None]]
>>> a[0][1] = 2
>>> a
[[None, 2], [None, None], [None, None]]
>>>

Preparo una patch per la classe Map.

--Luca
_______________________________________________
Netsukuku mailing list
[email protected]
http://lists.dyne.org/mailman/listinfo/netsukuku

Reply via email to