Jump to content

Deepcopy: Difference between revisions

m
Line 616:
=={{header|Lingo}}==
<lang lingo>-- Supports lists, property lists, images, script instances and scalar values (integer, float, string, symbol).
on deepcopy (var, cycleCheck)
-- Does not support cyclic references (objects having themselves as property)
on deepcopy (var)
case ilk(var) of
#list, #propList, #image:
return var.duplicate()
#instance:
if voidP(cycleCheck) then cycleCheck = [:]
if not voidP(cycleCheck[var]) then return cycleCheck[var]
copy = var.script.rawNew()
cycleCheck[var] = copy
repeat with i = 1 to var.count
copy.setProp(var.getPropAt(i), deepcopy(var[i], cycleCheck))
end repeat
return copy
Line 630 ⟶ 632:
return var
end case
end</lang>
</lang>
 
=={{header|Lua}}==
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.