From c1f78eaf8b2a95724b6ddeb7fdcbc274ac7982e9 Mon Sep 17 00:00:00 2001 From: azev77 Date: Wed, 24 Feb 2021 23:08:35 -0500 Subject: [PATCH] Update julia.html.markdown Assignment vs copy: see https://discourse.julialang.org/t/is-it-worth-introducing-copy-into-learnxiny/55965/2 --- julia.html.markdown | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/julia.html.markdown b/julia.html.markdown index 4d8eb497..336cd2b8 100644 --- a/julia.html.markdown +++ b/julia.html.markdown @@ -356,6 +356,20 @@ intersect(filledSet, otherSet) # => Set([4, 3, 5]) union(filledSet, otherSet) # => Set([4, 2, 3, 5, 6, 1]) setdiff(Set([1,2,3,4]), Set([2,3,5])) # => Set([4, 1]) +# Assignment with `=` attaches a new label to the same value without copying +a = [1, 2, 3] +b = a +# Now `b` and `a` point to the same value, so changing one affects the other: +a[3] = 5 +b[3] # => 5 + +# The `copy()` function can create a shallow copy of an array, dictionary, +# or other container +a = [1, 2, 3] +c = copy(a) +a[3] = 5 +c[3] # => 3 + #################################################### ## 3. Control Flow ####################################################