|
[Date Index]
[Thread Index]
[Author Index]
Re: how call a function by same name in 2 different contexts?
- To: mathgroup at smc.vnet.net
- Subject: [mg56733] Re: [mg56715] how call a function by same name in 2 different contexts?
- From: "Hermann Schmitt" <schmitther at t-online.de>
- Date: Thu, 5 May 2005 06:01:16 -0400 (EDT)
- References: <200505040434.AAA06268@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hello,
I think, I ave a solution for this problem.
See:
www.schmitther.de,
Dokumentation, p. 5
Hermann Schmitt
----- Original Message -----
From: "steve" <nma124 at hotmail.com>
To: mathgroup at smc.vnet.net
Subject: [mg56733] [mg56715] how call a function by same name in 2 different contexts?
>
> There is a function called FourierTransform that is part of standard
> Mathematica.
>
> When I load the SignalProcessing package (a standalone Mathematica
> application), it also comes with its own version of FourierTransform
> function.
>
> The question is how can I, after loading the SignalProcessing package,
> specify explicitly which function I wish to call?
>
> I found that I could do the above as follows.
>
> To call the standard function type
>
> System`FourierTransform[Sin[t],t,w]
>
> To call the function in SignalProcessing package, do
>
> Needs["SignalProcessing`"]
> SignalProcessing`Support`SigProc`FourierTransform[Sin[t],t,w]
>
> The problem with the above solution is that I had to know before
> hand inside which context the FourierTransform function lived in
> the SignalProcessing package, by typing the command
>
> Context[FourierTransform]
> SignalProcessing`Support`SigProc`
>
> Is there a better way to do this? Why can't I just say
> something like "Call the FourierTransform function which
> is part of the SignalProcessing package" without having
> to know the full contextPath?
>
> But the bigger problem is that after I loaded the SignalProcessing
> package, the Context[FourierTransform] does NOT list the
> System`FourierTransform any more, even though I call
> still access this context as follows
>
> System`FourierTransform[Sin[t],t,w]
>
> It seems that loading the SignalProcessing package hides the
> context of the FourierTransform function in the System package
> as you can see:
>
> Context["FourierTransform"]
> System`
>
> Needs["SignalProcessing`"]
> Context["FourierTransform"]
> SignalProcessing`Support`SigProc`
>
>
> I was expecting this output
>
> Context["FourierTransform"]
> SignalProcessing`Support`SigProc`
> System`
>
> So that I can see where each function is and then call any one
> I want without ambiguity.
>
> Any idea how to handle all of this stuff? I do not think it is nice
> that one package hides away another function of the same name in
> different package. The whole idea of using packages is so that this
> sort of thing should not happen !
>
> Is there a way to unload a specific package after loading it without
> having to restart Mathematica to clean things out?
>
> Thank you for any insight into this issue
> nma124
>
Prev by Date:
Re: letrec/named let
Next by Date:
Re: letrec/named let
Previous by thread:
how call a function by same name in 2 different contexts?
Next by thread:
Re: how call a function by same name in 2 different contexts?
|