I have a notebook containing (in a Code cell, Initialization Group)
BeginPackage["aPackage`"]; aTestFunction::usage = "aTestFunction usage"; Begin["`Private`"]; (* Remove[aTestFunction]; *) aTestFunction[arg_] := arg + 1; Protect[aTestFunction]; End; EndPackage;
Needs["aPackage`", NotebookFileName]; ?aTestFunction aTestFunction Quit;
All that honestly earns its pay. But if I de - comment the
Remove command, it produces.
Information::notfound: "Symbol aTestFunction not found."
and I can' t realize the reason.
All things considered,
Remove removes the
aTestFunction symbol (provided that it exists) from the
aPackage context but should not prevent it from being defined at a later time. It sounds quite different from what one can observe in the
Global context: this
Context a = 1; Remove[a]; a = 2; a + 1