The v18 beta introduces a new variable type: variant. Not surprisingly there is already discussion about what it could possibly be useful for and why it doesn't have more capabilities. We are who we are.
I have come across a clear case where it's a perfect solution. Consider a collection of text and null values. Like so: $tuple_col:=New collection("a";"b";"c";null;null;null;"z") I want to iterate through the collection and concatenate the values into a string. $str:="" For each ($element;$tpl_col) If ($element#Null) $str:=$str+$element End if $str:=$str+$delim End for each If this code is interpreted and not typed things are fine. As soon as I declare $element as TEXT it throws an error when I hit a Null. If I declare it as an object it throws an error when it hits a text. But if I declare $element as C_VARIANT it's all good. I suspect something like this is the motivation behind the C_VARIANT data type to begin with. Otherwise accomplishing this loop would get complicated. So here in 4D land C_VARIANT solves the problem of how we deal with a stream of different data types. Like a collection or object properties. -- Kirk Brooks San Francisco, CA ======================= What can be said, can be said clearly, and what you can’t say, you should shut up about *Wittgenstein and the Computer * ********************************************************************** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************