Steven D'Aprano
12/31/2007 1:52:00 PM
On Mon, 31 Dec 2007 11:45:55 +0100, Stef Mientki wrote:
> hello,
>
> I had a program that worked perfectly well. In this program modules were
> dynamically added, just by putting the file in a predefined directory.
>
> Now one of the interface mechanisms was to see if some parameter was
> changed in a an instance,
> by comparing the value from the instance with its previous value
>
> This went all well, untill I added a too complex variable, then the
> program stopped working, without generating exceptions.
What do you mean "stopped working"?
> So it seems that comparing a too complex value isn't allowed. the
> variable was something like:
>
> A = [ <ndarray>, <ndarray>, ..., [<color>,<color>,...], [<float>,
> <float>, ... ] ]
Doesn't seem complex to me, and I daresay probably not to Python either
-- although a lot depends on what "ndarray" and "colour" are.
> So what I need was something like:
> if A != A_prev :
> ... do something
> A_prev = A
>
> And this crashes, or at least it doesn't work but also doesn't generate
> exceptions.
It "crashes"? Explain please.
> It does seems to work, if A only contains 1 array.
>
> Why am I not allowed to compare A and A_prev ?? And in general, how
> complex might a list be to make a valid comparison, or what are the
> rules ?
As complicated as you like.
--
Steven