# resume

sortie d'une fonction ou reprise d'exécution, avec récupération de variables locales

## Séquence d'appel

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

## Description

Dans une fonction `resume` termine son exécution et `[..]=resume(..)` renvoie les variables locales `ai` dans l'environnement appelant sous les noms `xi`.

En mode de `pause`, cela permet de reprendre l'exécution et `[..]=resume(..)` renvoie les variables locales `ai` dans l'environnement appelant sous les noms `xi`.

Utilisé dans l'argument de `execstr` appelé dans une fonction `[..]=resume(..)` termine l'exécution de la fonction et renvoie les variables locales `ai` dans l'environnement appelant sous les noms `xi`.

`resume` est équivalent à `return`.

Note: l'utilisation de cette fonctionnalité peut complexifier le code. A la place, la syntaxe `function b = foo()` est recommendée.

## Exemples

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

    foo(42);
    assert_checkequal(b,43);
    // c n'exite pas

    // Avec plusieurs appels de fonctions
    function foo1()
      a=1;
      b=2;
      c=3;
      [x,y,z]=resume(a, b, c)
    endfunction

    function foo2()
      foo1()
      x, y, z // Déclarés
    endfunction

    foo2()
    // x y z n'existent pas ici

## Voir aussi

- abort
- break
- return