Table of Contents
Clone
Clone(a) creates a copy of the object a.
The statement $a=b$ for objects creates two variables pointing to the same object. Changing the value of one object changes the value of the other.
Input
-
a : object of any type
Output
-
a' : object of same type as a and an exact copy of it.
Example a=b
A small example showing the effect on b after changing a when a=b:
Input
- CloneNot.Quanty
-- some example codedofile("../definitions.Quanty") Opp2 = Opp1 Opp1.Name = "I'm the name of operator one" Opp2.Name = "I'm the name of operator two" print(Opp1.Name) print(Opp2.Name) psi2 = psi1 psi1.Name = "I'm the name of psi one" psi2.Name = "I'm the name of psi two" print(psi1.Name) print(psi2.Name)
Result
- CloneNot.out
I'm the name of operator two I'm the name of operator two I'm the name of psi two I'm the name of psi two
Example a=Clone(b)
A small example showing a=Clone(b):
Input
- Clone.Quanty
dofile("../definitions.Quanty") Opp2 = Clone(Opp1) Opp1.Name = "I'm the name of operator one" Opp2.Name = "I'm the name of operator two" print(Opp1.Name) print(Opp2.Name) psi2 = Clone(psi1) psi1.Name = "I'm the name of psi one" psi2.Name = "I'm the name of psi two" print(psi1.Name) print(psi2.Name)
Result
- Clone.out
I'm the name of operator one I'm the name of operator two I'm the name of psi one I'm the name of psi two
Example a=a+b
A small example showing that operations acting on objects lead to cloning the object:
Input
- CloneAuto.Quanty
dofile("../definitions.Quanty") Opp = Opp1 + Opp2 Opp.Name = "I'm the name of operator Opp and different from Opp1 and Opp2" print(Opp1.Name) print(Opp2.Name) print(Opp.Name)
Result
- CloneAuto.out
Lx Ly I'm the name of operator Opp and different from Opp1 and Opp2