On 10/12/07, Dan Wilson <[EMAIL PROTECTED]> wrote: > It is a pass by reference. All complex types are passed by reference.
Yup, functions are actually Java objects so they are passed around by reference. > (Except for Arrays of simple types on CFMX 6.1) Arrays are weird. They are shallow-copied on assignment. If you pass an array to a UDF/method, it shallow-copies it. If you return an array from a UDF/method, it shallow-copies it *if* the result is assigned. This means you can do weird stuff like this: <cfset arrayAppend(obj.callSomeFunc(),42) /> This will actually update the array inside obj if you just return it like this: <cfreturn variables.myArray /> However, if you do this: <cfset result = obj.callSomeFunc() /> you get a copy of the array instead. -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ "If you're not annoying somebody, you're not really alive." -- Margaret Atwood --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CFCDev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cfcdev?hl=en -~----------~----~----~----~------~----~------~--~---
