Crear copias en Julia con = operador

Cuando creo una matriz A y la asigno a B

A = [1:10]
B = A

Puedo modificar A y el cambio se refleja en B

A[1] = 42
# B[1] is now 42

Pero si hago eso con variables escalares, el cambio no se propaga:

a = 1
b = a
a = 2
# b remains being 1

Incluso puedo mezclar las cosas y transformar el vector en un escalar, y el hange c no se propaga:

A = [1:10]
B = A
A = 0
# B remains being 1,2,...,10

¿Qué hace exactamente el= operador hace? Cuando quiero copiar variables y modificar las antiguas preservando la integridad de las nuevas variables, ¿cuándo debo usarb = copy(a) sobre solob=a?

Respuestas a la pregunta(2)

Su respuesta a la pregunta