File: exec.xml

package info (click to toggle)
scilab 5.2.2-9
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 334,832 kB
  • ctags: 52,586
  • sloc: xml: 526,945; ansic: 223,590; fortran: 163,080; java: 56,934; cpp: 33,840; tcl: 27,936; sh: 20,397; makefile: 9,908; ml: 9,451; perl: 1,323; cs: 614; lisp: 30
file content (158 lines) | stat: -rw-r--r-- 4,487 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<?xml version="1.0" encoding="UTF-8"?>
<refentry version="5.0-subset Scilab" xml:id="exec" xml:lang="en"
          xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xmlns:svg="http://www.w3.org/2000/svg"
          xmlns:ns5="http://www.w3.org/1999/xhtml"
          xmlns:mml="http://www.w3.org/1998/Math/MathML"
          xmlns:db="http://docbook.org/ns/docbook">
  <info>
    <pubdate>$LastChangedDate$</pubdate>
  </info>

  <refnamediv>
    <refname>exec</refname>

    <refpurpose>execução de arquivo script ("script" significa
    roteiro)</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <title>Seqüência de Chamamento</title>

    <synopsis>exec(path [,mode])
exec(fun [,mode])
ierr=exec(path,'errcatch' [,mode])
ierr=exec(fun,'errcatch' [,mode])</synopsis>
  </refsynopsisdiv>

  <refsection>
    <title>Parâmetros</title>

    <variablelist>
      <varlistentry>
        <term>path</term>

        <listitem>
          <para>string, o endereço do arquivo script </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>mode</term>

        <listitem>
          <para>escalar inteiro, o modo de execução (ver abaixo) </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>fun</term>

        <listitem>
          <para>uma função do Scilab </para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>ierr</term>

        <listitem>
          <para>inteiro, 0 ou número de erro</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsection>

  <refsection>
    <title>Descrição</title>

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

    <para>Os casos diferentes para <literal>mode</literal> são :</para>

    <para>0 : o valor padrão</para>

    <para>-1 : nada é impresso</para>

    <para>1 : eco de cada linha de comando</para>

    <para>2 : prompt --&gt; é impresso</para>

    <para>3 : ecos + prompts</para>

    <para>4 : pára antes de cada prompt. A execução retorna após cada retorno
    de carro.</para>

    <para>7 : paradas + prompts + ecos : útil para demos.</para>

    <para><literal>exec(fun [,mode])</literal> executa a função
    <literal>fun</literal> como um script: sem argumentos de entrada ou saída
    nem ambientes de variáveis específicos. Esta forma é mais eficiente,
    porque o código script pode se pré-compilado (ver comp). Este método
    para avaliação de scripts permite armazenar scripts como funções em
    bibliotecas.</para>

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

  <refsection>
    <title>Observação </title>

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

  <refsection>
    <title>Exemplos</title>

    <programlisting role="example"><![CDATA[ 
// 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 "
 ]]></programlisting>
  </refsection>

  <refsection>
    <title>Ver Também</title>

    <simplelist type="inline">
      <member><link linkend="exec">exec</link></member>

      <member><link linkend="execstr">execstr</link></member>

      <member><link linkend="evstr">evstr</link></member>

      <member><link linkend="comp">comp</link></member>

      <member><link linkend="mode">mode</link></member>

      <member><link linkend="chdir">chdir</link></member>

      <member><link linkend="pwd">pwd</link></member>
    </simplelist>
  </refsection>
</refentry>