who called me?
Ben Abbott
bpabbott at mac.com
Wed Oct 22 12:50:12 CDT 2008
On Wednesday, October 22, 2008, at 11:44AM, "Søren Hauberg" <soren at hauberg.org> wrote:
>ons, 22 10 2008 kl. 11:30 -0400, skrev John W. Eaton:
>> On 22-Oct-2008, Søren Hauberg wrote:
>>
>> | Assuming I have a function 'f1', how can I get the name of whatever
>> | function called 'f1'?
>> | I've tried to do this with a combination of 'evalin' and 'mfilename':
>> |
>> | function f1 ()
>> | who_called_me = evalin ('caller', 'mfilename ()')
>> | end
>> |
>> | but that just gives me the name of 'f1'.
>>
>> With the current development sources, you can use
>>
>> function f1 ()
>> x = dbstack ();
>> if (numel (x) > 1)
>> caller = x(2).name
>> else
>> caller = "base"
>> endif
>> endfunction
>
>Thanks! Works like a charm.
>
>Søren
I've often wanted to check on who called a particular function.
Might it be possible to look one more caller back and write a general function like
call = whocalledme ();
Ben
More information about the Help-octave
mailing list