如何清空数组结构?

时间:2017-05-11 12:51:58

标签: livecode

我在livecode中有一个非常大的数组结构,例如:

temp["A"]
temp["A"]["B"]
temp["A"]["B"]["c"]
temp["A"]["D"]
temp["A"]["D"]["E"][...]
...

我想保留结构,但只是在值中放空。 我应该使用什么递归程序? 我不知道如何递归传递数组。

2 个答案:

答案 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