다음: 기본 매개변수, 이전: 변수 길이 반환 목록, 상위 문서: 함수와 대본   [차례][찾아보기]


11.7 함수로부터의 반환

사용자 정의 함수의 몸체가 return문을 포함하여도 됩니다. 이 명령문은 남은 옥타브 풀그림에 제어권을 돌려줍니다. 다음과 같이 생겼습니다.

return

C 언어의 return문과 다르게, 옥타브의 return문은 함수에서 값을 반환하는 용도가 아닙니다. 값 반환은 function문의 반환 변수 목록에서의 할당으로 하여야 합니다. return문은 함수의 얽히고 섥힌 반복문과 조건문에서 쉽게 빠져나오는 명령문입니다.

벡터의 원소 중에 0이 아닌 원소가 있는지 검사하는 함수 예시입니다.

function retval = any_nonzero (v)
  retval = 0;
  for i = 1:length (v)
    if (v (i) != 0)
      retval = 1;
      return;
    endif
  endfor
  printf ("no nonzero elements found\n");
endfunction

이 함수에서 break문을 0이 아닌 값을 발견한 후 안내 출력을 막는 추가 논리 없이 반복문을 탈출하는 용도로 사용할 수 없음에 유의하십시오.

return

예약어 return를 함수나 대본 속에서 만나면, 최대한 빨리 호출자에게 제어권을 넘깁니다. 최사위에서는 return문을 무시합니다. return문은 모든 함수 정의의 종료 지점입니다.