summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorazev77 <azev77@users.noreply.github.com>2021-02-24 23:08:35 -0500
committerGitHub <noreply@github.com>2021-02-24 23:08:35 -0500
commitc1f78eaf8b2a95724b6ddeb7fdcbc274ac7982e9 (patch)
treee1b0bbdf20a17df88bef7ee30024dc5cd5f8aaf9
parentcb434152b245d08ef5ecc74f363dd7538e4ee13f (diff)
Update julia.html.markdown
Assignment vs copy: see https://discourse.julialang.org/t/is-it-worth-introducing-copy-into-learnxiny/55965/2
-rw-r--r--julia.html.markdown14
1 files changed, 14 insertions, 0 deletions
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
####################################################