Info

This question is locked. Riaprila per modificarla o per rispondere.

How to check whether a name is a locally accessible function?

18 visualizzazioni (ultimi 30 giorni)
How to check whether a name is a locally accessible function and only locally accessible?
For example, with
function out = top_level_function(name)
% ???
function helper2
end
end
function helper1
end
Desired:
>> top_level_function('helper1')
>> ans =
1
>> otherwise_valid_function(); % executes
>> top_level_function('otherwise_valid_function')
>> ans =
0
isa(eval(['@',name]),'function_handle') with the necessary not file for [SL: removed spam link], not builtin check at the same time probably works in the case where there is no local name shadowing but I am also wondering if that can permit name to be evaluated as an expression without it being a function name. And also what to do when there is local name shadowing?
[SL: removed link that looked like spam]

Risposta accettata

Matt J
Matt J il 24 Set 2025
Modificato: Matt J il 24 Set 2025
One way,
function tf = top_level_function(name)
s=functions(str2func(name));
tf=strcmp( s.type , "scopedfunction") ;
end

Più risposte (0)

This question is locked.

Categorie

Scopri di più su Get Started with MATLAB in Help Center e File Exchange

Tag

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by