<< pause Управляющая логика return >>

Scilab Help >> Scilab > Управляющая логика > resume

resume

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

Синтаксис

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

Аргументы

x1, ..., xn

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

a1, ..., an

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

Описание

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

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

В execstr, вызванной функцией, [x1, ..., xn] = resume(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 не существует
// при наличии нескольких вызовов функции
function foo1()
  a=1;
  b=2;
  c=3;
  [x, y, z] = resume(a, b, c)
endfunction

function foo2()
  foo1()
  x, y, z // объявлены
endfunction

foo2()
// x, y и z здесь не существуют

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

История

VersionDescription
6.0.0 resume is now protected: Assignments like resume=1 are no longer possible.

Report an issue
<< pause Управляющая логика return >>