Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語
Справка Scilab >> Функции > exec

exec

исполнение файла-сценария

Синтаксис

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

Аргументы

path

строка, путь к файлу-сценарию.

mode

целочисленный скаляр, режим исполнения (см. ниже).

fun

Scilab-функция.

ierr

целое число, 0 либо номер ошибки.

Описание

exec(path [,mode]) исполняет последовательно Scilab-инструкции, содержащиеся в файле, указанном в пути path, в режиме исполнения, указанным необязательным аргументом mode.

Режим исполнения mode имеет следующие значения:

0

значение по умолчанию.

-1

вывод на экран не производится.

1

отображает каждую командную строку.

2

на экран выводится строка приглашения -->.

3

отображения командных строк + строки приглашения.

4

останавливается перед каждой строкой приглашения. Исполнение возобновляется после возврата каретки.

7

остановки + строки приглашения + вывод на экран командных строк: режим, полезный для демонстраций.

exec(fun [,mode]) исполняет функцию fun как файл-сценарий: ни входного, ни выходного аргумента, ни особого окружения переменных. Этот метод исполнения сценария позволяет хранить сценарии в виде функций в библиотеках.

Если во время исполнения произойдёт ошибка, и если будет указан флаг 'errcatch', то функция exec не будет выдавать сообщения об ошибке, прервёт исполнение инструкций и вернёт номер ошибки ierr. Если же флаг 'errcatch' не будет указан, то будет работать стандартная обработка ошибок.

Примечания

Теперь файлы для функции exec можно использовать для определения функций, используя синтаксис определения функции в строке (см. function).

Функция exec поддерживает файлы с кодировкой ANSI/ASCII и UTF-8.

Длина каждой строки в файле ограничена 4096 символами.

Примеры

// создадим файл-сценарий
mputl('a=1;b=2',TMPDIR+'/myscript')
// выполним его
exec(TMPDIR+'/myscript')
whos -name "a "
// создадим функцию
deff('y=foo(x)','a=x+1;y=a^2')
clear a b
// вызовем функцию
foo(1)
// a - переменная, созданная в окружении функции foo;
// она будет уничтожена после возврата из foo
whos -name "a "
x=1 //создадим x чтобы его узнал сценарий foo
exec(foo)
// a и y созданы в текущем окружении
whos -name "a "
whos -name "y "

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

  • execstr — исполняет Scilab-код, заданный в строках
  • evstr — вычисление выражений
  • mode — выбор режима отображения информации во время исполнения файла
  • chdir — меняет текущую директорию Scilab'а
  • pwd — получает текущую директорию Scilab'а
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:37 CET 2017