Die neue benutzerdefinierte Funktion wird nicht gelöscht, wenn der Namespace gelöscht wirdtest_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;Durch das Löschen eines Namespaces werden die zugehörigen benutzerdefinierten Funktionen nicht gelöscht, wie oben gezeigt.
Die einzige Möglichkeit, die benutzerdefinierte Funktion zu entfernen, besteht darin, die Funktion "Benutzerdefinierte Funktionen entfernen" zu verwenden.
Gibt es eine Möglichkeit, einen Namespace zu löschen und alle zugehörigen benutzerdefinierten Funktionen zu entfernen?
Betreff: Neue benutzerdefinierte Funktion wird nicht gelöscht, wenn der Namespace gelöscht wirdIch glaube nicht, dass es eine integrierte Möglichkeit gibt, einen Namespace und alle zugehörigen benutzerdefinierten Funktionen zu entfernen. Sie können jedoch eine der folgenden benutzerdefinierten Funktionen verwenden:
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));
);
Ich werde nach besseren Möglichkeiten suchen, dies für zukünftige Versionen von JMP zu verwalten.