删除命名空间时不会删除新的自定义功能test_ns = New Namespace("Test");
add custom functions({
new custom function("Test", "test_function",
function({},
print("hello world!!");
Return(1);
);
);
});
test_ns << Delete Namespace();
custom_functions = get custom functions();
custom_functions = custom_functions[Loc(custom_functions << get namespace, "Test")];
custom_functions << get name;删除名称空间不会删除其相关的自定义函数,如上所示。
我发现删除自定义功能的唯一方法是使用功能“删除自定义功能”。
有没有办法删除命名空间并删除所有与之关联的自定义函数?
回复:删除命名空间时不会删除新的自定义功能我认为没有内置的方法可以删除名称空间及其所有关联的自定义函数。但是,您可以使用类似以下用户定义的函数的方法:
Delete Namespace and Matching Custom Functions = Function({ns}, {i, mask, fs},
fs = Get Custom Functions();
mask = Loc(fs << Get Namespace, ns << Get Name);
If(N Items(mask),
fs = fs[mask];
For(i = 1, i <= N Items(fs), i++,
fs[i] = ((ns << Get Name) || ":" || (fs[i] << Get Name));
);
Remove Custom Functions(fs);
);
ns << Delete Namespace(Force(1));
);
我将研究更好的方法来管理JMP的未来版本。