Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - Русский


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 — устанавливает или запрашивает режим отображения в командном окне инструкций Scilab
  • chdir — меняет текущую директорию Scilab'а
  • pwd — получает текущую директорию Scilab'а
Report an issue
<< deff Функции execstr >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:41:19 CEST 2023