我在livecode中有一个非常大的数组结构,例如:
temp["A"]
temp["A"]["B"]
temp["A"]["B"]["c"]
temp["A"]["D"]
temp["A"]["D"]["E"][...]
...
我想保留结构,但只是在值中放空。 我应该使用什么递归程序? 我不知道如何递归传递数组。
答案 0 :(得分:1)
我发现了我的问题,我无法改变我使用重复或递归功能旅行的阵列。我需要使用2个数组,第二个是第一个的空副本。所以这是代码:
function svuotaArray tarr
repeat for each key tKey in tArr
put empty into tArr2[tKey]
put svuotaArray(tArr[tkey]) into tArr2[tkey]
end repeat
return tArr2
end svuotaArray
答案 1 :(得分:1)
嗯......类似以下内容(未经测试)应该可以在当前版本的LiveCode中使用。我记不起添加了通过引用传递数组元素的能力的版本:
command ClearElements @xArray
if xArray is an array then
repeat for each key tKey in xArray
ClearElements xArray[tKey]
end repeat
else
put empty into xArray
end if
end ClearElements