Yes, it is the same. Everything is passed by "reference" (*).
And if you copy the collection you'll get two collections referencing
the same object.

E.g.
| a c1 c2 |
a := Object new.
b := OrderedCollection with: a.
b identityIncludes: a. "true"
c := b copy.
c identityIncludes: a. "true"


(*) Some objects like SmallIntegers are "immediate" objects, and could
be considered that they're passed by value.
E.g.
1 copy == 1 "true"

Regards,

Esteban A. Maringolo

On Wed, Jul 24, 2019 at 9:45 AM sergio ruiz <sergio....@gmail.com> wrote:
>
> I think my understanding of OrderedCollections has been incorrect for a very 
> long time. I have never had a situation where it mattered, but in modeling a 
> current project, I think I have been approaching it incorrectly.
>
> Since I have been using Smalltalk, I assumed that a copy of an object is 
> added to an OrderedCollection. A quick test shows that a reference to that 
> object is added to the OrderedCollection.
>
> I just wanted a sanity check on this. Is this true with all collections?
>
> Thanks!
>
>
> ----
> peace,
> sergio
> photographer, journalist, visionary
>
> Public Key: http://bit.ly/29z9fG0
> #BitMessage BM-NBaswViL21xqgg9STRJjaJaUoyiNe2dV
> http://www.codeandmusic.com
> http://www.twitter.com/sergio_101
> http://www.facebook.com/sergio101
>

Reply via email to