부함수

부함수 (Subfunctions)

함수 파일에는 부함수(subfunction)라고 부르는 보조 함수를 함께 넣을 수 있어요. 이 보조 함수들은 같은 함수 파일 안에 있는 다른 함수들에게만 보입니다.

출처: Subfunctions

본문

예를 들어 f.m이라는 파일에 다음과 같이 적으면

function f ()
  printf ("in f, calling g\n");
  g ()
endfunction
function g ()
  printf ("in g, calling h\n");
  h ()
endfunction
function h ()
  printf ("in h\n")
endfunction

주 함수 f와 두 개의 부함수 g, h가 정의돼요. 부함수 gh는 주 함수 f나 다른 부함수에서만 호출할 수 있고, 파일 f.m 밖에서는 호출할 수 없습니다.

  • subfcn_list = localfunctions () — 현재 파일 안의 모든 로컬 함수, 즉 부함수의 목록을 돌려줍니다.

반환값은 localfunctions를 호출한 함수에서 접근 가능한 모든 로컬 함수의 함수 핸들을 담은 열 셀 배열이에요. 중첩 함수(nested function)는 목록에 포함되지 않습니다.

명령줄, 익명 함수, 스크립트에서 호출하면 반환값은 빈 셀 배열이 됩니다.

참고: functions.

더 알아보기