필자는 쓰기/디버깅 기능을 수행 할 때 브레이크 포인트가 아닌 cell mode을 사용하려고합니다.코드가 함수로 실행되는지 또는 셀 모드를 사용하여 실행되는지 확인하는 방법
현재 실행중인 코드가 함수로 실행되거나 셀 모드를 사용하는 경우 런타임시 어떻게 결정합니까?
보너스 포인트 다른 기능이나 셀에서 호출 된 것으로 알고있는 function
을 생각해낼 수 있다면.
예를 들어 함수를 실행하는 동안 데이터를 다르게로드하거나 디버깅을 위해 플로터를 만들려는 경우에 유용 할 수 있습니다. 셀 또는 함수로 실행 사이를 전환 할 때 특정 행을 주석 처리하는 것은 고통이됩니다.
function doSomethingAwesome(inputs)
%%
if executingAsCell == true
clear
importData
end
% process stuff
if executingAsCell == true
plot(myAwesomeResults)
end
참고이 내 앞의 질문의 중복되지 않습니다 : @Junuxx에 의해 제안하는 가장 간단한 방법은 dbstack()
을 사용 How to determine if code is executing as a script or function?
+1 흥미로운 질문입니다. 첫 번째 생각 (추한 해킹) : 함수/스크립트에서 더미 변수를 가장 먼저 정의한 다음 정의 된 변수인지 나중에 확인하는 것은 어떻습니까? – user1884905
[dbstack] (http://www.mathworks.nl/help/matlab/ref/dbstack.html)으로이 작업을 수행 할 수 있습니다. – Junuxx