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 "
Смотрите также
Report an issue | ||
<< deff | Функции | execstr >> |