Many thanks Leonel four your accurate solution and explanation.
El 02/03/17 a las 12:16, Leonel Câmara escribió:
|
forf intable:
ifany(f isother forother infields_list):
printf
|
This also works. Your solution is not bad at all either.
The problem here is that in the DAL a Field is an Expression, and
expressions have "==" overloaded to return a Query, a Query is not
False. So the in operator calls the list.__contains__ which uses == to
check if any of the items of the list is yours, and any item it
compares with returns a value which is not False, so your initial
solution will always print all the Fields in the Table.
When you use overloaded operators such as we do in the DAL, you get
convenience and readability but you must then pay attention to this
sort of problems.
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google
Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
For more options, visit *MailScanner ha detectado un intento de fraude
en la siguiente p�gina web "groups.google.com". /No/ conf�e en esta
p�gina web:* https://groups.google.com/d/optout
<https://groups.google.com/d/optout>.
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups "web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.