ID:2363863
 
Code:
mob/verb/test()
var
list/l = list(5)
a=1
n=-5
world<<"([5 in l]/[a==1]/[n<0]) -> [(5 in l&&a==1&&n<0)]"


(1/1/1) -> 0

Problem description:
If all elements are true, when together by && or & should not be true? Is this happening because of the in, isolating it on a separate line does it work properly, should it work like this or is it some logic I do not know?
It's an order of operations thing. You'd want to encompass the second "5 in 1" part in parenthesis.
"in" has VERY low priority as far as operators go. What you're asking is more like 5 in (l && a == 1 && n < 0) which winds up being 5 in 1 which is false. Whenever you use the in keyword, always wrap it in () ex (5 in l) && a == 1 && n < 0.

If you think that's weird and stupid, it is.
Thanks, this happen only in DM?
Not many other languages have an 'in' keyword of this nature.