Posted in ColdFusion | Posted on 12-27-2007 | 2,092 views
I'm thinking this is something folks have blogged about before, but I just ran into it today. When using array and struct implicit creation, you cannot use the syntax directly in a udf/method call. Let me explain. Consider this example:
2<cfset somefunc(data=z)>
In this example I use shorthand notation to creation a structure. I then pass it to somefunc as an argument named data. This works just fine. But this version, which should be the same, will give you a syntax error:
I also tried the simpler form:
Which also failed. It looks like you can only use the implicit creation in cfset statements. (Which is certainly ok, I'm just happy we have this shortcut!)


Good thing to know.
<cfparam name="test" default="#[1, 2, 3, 4]#">
<cfdump var="#test#">
I've also seen it flake out another way but can't remember how. Annoying but not the end of the world.
You can't do:
<cfreturn {field=3, field2=true}>
you have to assign it to var first.
Seems really odd that it does not work.