La nueva función personalizada no se elimina cuando se elimina el espacio de nombrestest_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;Eliminar un espacio de nombres no eliminará sus funciones personalizadas asociadas como se muestra arriba.
La única forma que he encontrado para eliminar la función personalizada es usar la función "Eliminar funciones personalizadas".
¿Hay alguna forma de eliminar un espacio de nombres y eliminar todas sus funciones personalizadas asociadas?
Re: Nueva función personalizada no se elimina cuando se elimina el espacio de nombresNo creo que haya una forma integrada de eliminar un espacio de nombres y todas sus funciones personalizadas asociadas. Sin embargo, podría usar algo como la siguiente función definida por el usuario:
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));
);
Buscaré mejores formas de administrar esto para futuras versiones de JMP.