# return

возврат или возобновление исполнения и копирование некоторых локальных переменных

## Последовательность вызова

                return
                [x1,..,xn]=return(a1,..,an)

## Аргументы

x1,..,xn

  переменные в вызывающем окружении

a1,..,an

  локальные переменные

## Описание

В функции `return` прекращает исполнение функции; `[x1,..,xn]=return(a1,..,an)` прекращает исполнение функции и выдаёт локальные переменные `ai` в вызывающее окружение под именами `xi`.

В режиме `pause`, можно вернуться на более высокий уровень. `[x1,..,xn]=return(a1,..,an)` возвращает на верхний уровень и передаёт локальные переменные `ai` под именами `xi`.

В `execstr`, вызванной функцией `[x1,..,xn]=return(a1,..,an)` прекращает исполнение функции и выдаёт локальные переменные `ai` в вызывающее окружение под именами `xi`.

Инструкция `resume` эквивалентна инструкции `return`.

Примечание: использование этой возможности может усложнить код. Вместо этого рекомендуется использовать синтаксис `function b = foo()`.

## Примеры

    function foo(a)
             a=a+1
             b=resume(a)
             c=52
    endfunction

    foo(42);
    assert_checkequal(b,43)
    // c не существует

## Смотрите также

- abort
- break
- pause
- execstr
- resume