如何从 DXL 跳过列表中删除所有元素

How can I remove all elements from a DXL skip list

我想清除 Skip 列表中的所有元素,如下所示:

Module mod = current()
Skip skip = create()

put(skip, 1, "test")
put(skip, 2, mod)

clearSkip(skip) // Removes all elements

您可以使用 setempty(Skip) 函数,尽管据我所知这个特定的重载没有记录。

用于删除自定义类型跳过的示例脚本,此处:键入 OutLinkInfo:

struct OutLinkInfo {}

OutLinkInfo createOutLinkInfo_() { DxlObject d = new(); OutLinkInfo x = (addr_ d) OutLinkInfo; return(x) }
DxlObject DxlObjectOf(OutLinkInfo x) { return((addr_ x) DxlObject) }

void deleteOutLinkInfo(OutLinkInfo &x) { DxlObject d = DxlObjectOf(x); delete(d); x = null; return() }
Skip deleteOutLinkInfo(Skip sk)
{
    OutLinkInfo x = null OutLinkInfo
    for x in sk do { deleteOutLinkInfo(x) }
    delete(sk); sk = null
    return(sk)
}