Kopírování
Varování pro začátečníky: Přířazujete-li hodnotu slova jinému slovu , proveďte to s příkazem COPY.
>> var1: var2 ; jste-li si jisti, co činíte
>> var1: copy var2 ; může vám ušetřit hodiny ladění
action! copy
Přiřadí kopii dat jinému slovu.
Lze použít ke kopírování řad a objektů.
Nepoužívá se pro jednotlivé položky typu: integer! float! char! etc. Pro tyto účely můžeme jednoduše použít dvojtečku.
Pohleďme na jednoduché přiřazení (závislá kopie):
>> s: [ "cat" "dog" "fox" "cow" "fly" "ant" "bee" ]
== ["cat" "dog" "fox" "cow" "fly" "ant" "bee"]
>> b: s
== ["cat" "dog" "fox" "cow" "fly" "ant" "bee"]
>> take/part s 4
== ["cat" "dog" "fox" "cow"]
>> b
== ["fly" "ant" "bee"] ; změna se projeví u obou proměnných
Nyní na přiřazení s 'copy' (nezávislá kopie):
>> s: [ "cat" "dog" "fox" "cow" "fly" "ant" "bee" ]
== ["cat" "dog" "fox" "cow" "fly" "ant" "bee"]
>> b: copy s
== ["cat" "dog" "fox" "cow" "fly" "ant" "bee"]
>> take/part s 4
== ["cat" "dog" "fox" "cow"]
>> b
== ["cat" "dog" "fox" "cow" "fly" "ant" "bee"]
'Nezávislost' se netýká vnořených řad (bloků). Příkaz copy nemění odkaz na tyto vnořené řady. Chcete-li pro tento případ vytvořit nezávislou kopii, musíte použít upřesnění /deep.
copy/part
Omezuje délku (number! či series!) kopírované části.
>> a: "my house is a very funny house"
>> b: copy/part a 8
== "my house"
copy/types
Kopíruje jenom určité typy neskalárních hodnot.
copy/deep
Kopíruje vnořené hodnoty.