Question then:

How do structs get passed in arguments in CF7 - by reference or by value?

(I haven't got a cf7 box at hand)

In 6.x, I'm pretty sure it's by reference.

Mark

On 6/1/05, Sean Corfield <[EMAIL PROTECTED]> wrote:
> On 5/31/05, Darryl Lyons <[EMAIL PROTECTED]> wrote:
> > Aren't arrays passed by value into methods?
> 
> Yes, so I was a little surprised to see Gareth's claim that he got two
> elements back in CF6. So I tried it on CF6.1 and 6.1.1 and, yes, he's
> right. Weird. But I definitely would have expected it to pass the
> array by value.
> 
> I did a bit more digging. If you assign an array it does it by value
> not by reference:
> 
> <cfset a1 = arrayNew(1)>
> <cfset a1[1] = "Hello">
> <cfset a2 = a1>
> <cfset a2[2] = "World">
> 
> Dump both of those and you'll find a1 still has just "Hello" but a2
> has both. Similarly, if you now change a1[1] to "Goodbye" you'll see
> that a2 is unaffected.
> 
> True in CF6.1 and 6.1.1 and 7.0.
> 
> Now look at return values. If you return an array, it returns by
> value. I'm not going to show the test code here but I tested it and
> confirmed that it is by value (have a method return
> variables.someArray, modify it in the calling code and then call back
> into the CFC - variables.someArray is unmodified. Similarly, return
> variables.someArray and then call a method that modifies it inside the
> CFC - outside the CFC the previously returned array is unchanged).
> 
> Now, CF7 treats array arguments as pass by value - in line with
> assignments and returns.
> 
> CF6.1 / CF6.1.1 treats array assignment and return as by value but
> passes arguments by reference.
> 
> I can only deduce from this that it was considered a bug in CF6.1 that
> got fixed in CF7 so that arrays were treated consistently.
> --
> Sean A Corfield -- http://corfield.org/
> Team Fusebox -- http://fusebox.org/
> Got Gmail? -- I have 50, yes 50, invites to give away!
> 

-- 
E: [EMAIL PROTECTED]
W: www.compoundtheory.com
ICQ: 3094740

---
You are currently subscribed to cfaussie as: [email protected]
To unsubscribe send a blank email to [EMAIL PROTECTED]
Aussie Macromedia Developers: http://lists.daemon.com.au/

Reply via email to