exec execução de arquivo script ("script" significa roteiro)

## Seqüência de Chamamento

    exec(path [,mode])
                exec(fun [,mode])
                ierr = exec(path,'errcatch' [,mode])
                ierr = exec(fun,'errcatch' [,mode])

## Parâmetros

path

  string, o endereço do arquivo script

mode

  escalar inteiro, o modo de execução (ver abaixo)

fun

  uma função do Scilab

ierr

  inteiro, 0 ou número de erro

## Descrição

`exec(path [,mode])` executa seqüencialmente as instruções contidas no arquivo fornecido por `path` com um modo de execução opcional `mode` .

Os casos diferentes para `mode` são :

0

  o valor padrão.

-1

  nada é impresso.

1

  eco de cada linha de comando.

2

  prompt `-->` é impresso.

3

  ecos + prompts.

4

  pára antes de cada prompt. A execução retorna após cada retorno de carro.

7

  paradas + prompts + ecos : útil para demos.

`exec(fun [,mode])` executa a função `fun` como um script: sem argumentos de entrada ou saída nem ambientes de variáveis específicos. Este método para avaliação de scripts permite armazenar scripts como funções em bibliotecas.

Se um erro é encontrado durante a execução, se o flag `'errcatch'` estiver presente `exec` não imprime mensagem de erro, aborta execução de instruções e retorna com `ierr` e igual ao número de erro. Se o flag `'errcatch'` não estiver presente, a manipulação de erros padrão é utilizada.

## Observação

Arquivos executáveis (exec files) podem agora ser usados para definir funções "inline" utilizando a sintaxe de definição (ver function).

## Exemplos

    // criando um arquivo script
    mputl('a=1;b=2',TMPDIR+'/meuscript')
    // executando-o
    exec(TMPDIR+'/meuscript')
    whos -name "a "

    // criando uma função
    deff('y=foo(x)','a=x+1;y=a^2')
    clear a b
    // chamando a função
    foo(1)
    // a é uma variável criada no ambiente da função foo
    //    ela é destruída quando foo retorna
    whos -name "a "

    x=1 //criando x para torná-la conhecida pelo script foo
    exec(foo)
    // a e y são criadas no ambiente corrente
    whos -name "a "
    whos -name "y "

## Ver Também

- exec
- execstr
- evstr
- mode
- chdir
- pwd