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

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2024.0.0. This page might be outdated.
See the recommended documentation of this function

Справка 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 как файл-сценарий: ни входного, ни выходного аргумента, ни особого окружения переменных. Эта форма более эффективна, поскольку код сценария может быть предварительно скомпилирован (см. comp). Этот метод исполнения сценария позволяет хранить сценарии в виде функций в библиотеках.

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

Copyright (c) 2022-2023 (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:
Fri Apr 11 14:19:50 CEST 2014