Когда я создаю некоторый массив A и назначаю его B
A = [1:10]
B = A
Я могу изменить A, а изменение отражает в B
A[1] = 42
# B[1] is now 42
Но если я делаю это со скалярными переменными, изменение не распространяется:
a = 1
b = a
a = 2
# b remains being 1
Я могу даже смешивать вещи и преобразовывать вектор в скаляр, а изменение не распространяется:
A = [1:10]
B = A
A = 0
# B remains being 1,2,...,10
Что именно делает оператор =
? Когда я хочу скопировать переменные и изменить старые, сохраняя целостность новых переменных, когда следует использовать b = copy(a)
только для b=a
?