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

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]

 채택된 답변

Matt J
Matt J 2025년 9월 24일
편집: Matt J 2025년 9월 24일
One way,
function tf = top_level_function(name)
s=functions(str2func(name));
tf=strcmp( s.type , "scopedfunction") ;
end

추가 답변 (0개)

This question is locked.

카테고리

도움말 센터File Exchange에서 Software Development에 대해 자세히 알아보기

제품

태그

질문:

2025년 9월 24일

Locked:

2025년 9월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by