당신은 class()
기능을 사용할 수 있습니다 :
if isa(f, 'function_handle')
% f is a handle
else
% f is not a handle
end
편집 : 완성을 위해, class()
을 사용하면 무언가가 함수 핸들인지 확인하는 데 도움이된다는 점을 지적하고자합니다. 그러나 isa
과는 달리 MATLAB의 작동 방식에 영향을 미치는 객체 지향 프로그래밍 (OOP)과 같은 MATLAB의 다른 측면 (예 : 플롯 기능, 컨트롤 도구 상자, 식별 도구 상자, ... OOP 기반).
OOP에 익숙한 사람들을 위해
: isa
또한, someClass
에 대한 x
객체의 슈퍼 유형을 확인하는 정확한 유형에 대한 strcmp(class(x), 'someClass')
분명히만을 검사하는 동안.
OOP를 모르는 사람들에게 : 나는 strcmp(class(x), 'someClass')
대신 isa(x, 'someClass')
을 사용하는 것이 가장 편리하고 (공통적 인) 동작 인 것이 좋습니다.
출처
2011-10-23 17:10:38
Max
또한 함수 핸들 일뿐만 아니라 유효성 (테스트 할 코드가 있음)을 테스트하는 [이 질문 (http://stackoverflow.com/q/19307726/2778484)]도 참조하십시오. – chappjc