Matt Woodward wrote: > Good to know it's a compatibility issue, but I'm still curious > specifically what CF 8 is doing with something like<cfset foo = null / >> . > > To me even though it's incompatible I don't believe that's incorrect > behavior; the struct key *does* exist and has a value of null. That's > different than the struct key not existing. We'll have to discuss it > from a compatibility standpoint, however.
I agree with Matt. The function is clearly asking, "StructKeyExists()", if the key exists in the structure, not the value. So I would argue that if other engines are reporting false, then they are at fault here. If the function was say "StructValueExists()" then yes, it should return false, but again, that could be argued, as null is technically a value. In Java, the underlying Map permits nulls to be stored as values, and the keys still exist. As for compatibility, that is an interesting one. I am not so keen to be inserting known bugs into OpenBD just to be "bug-compatible" with others, particularly when its an edge case that the vast majority of developers probably will never even encounter. --~--~---------~--~----~------------~-------~--~----~ Open BlueDragon Public Mailing List http://groups.google.com/group/openbd?hl=en official site @ http://www.openbluedragon.org/ !! save a network - trim replies before posting !! -~----------~----~----~----~------~----~------~--~---
