mode
устанавливает или запрашивает режим отображения в командном окне инструкций Scilab
Синтаксис
mode(k) k = mode()
Аргументы
- k
целое число от -1 до 6: выбранный или текущий режим исполнения / отображения на экране.
Описание
mode(k)
позволяет выбрать как информация отображается в командном окне в
ходе выполнения инструкций Scilab. Если эти инструкции включают в себя инструкцию
mode
, то последующие инструкции в том же окружении будут отображаться
в соответствии с новым режимом. Точка с запятой, поставленная
в конце любой инструкции всегда прекращает отображение результатов работы, несмотря ни на
какой текущий режим исполнения.
Контекст
mode(..)
и другие инструкции могут быть использованы и исполнены в различном контексте:
Функции (F): функция, написанная на языке Scilab, может включать в себя инструкции
mode
. Будучи скомпилированной и вызванной, действия внутренней инструкцииmode
отмечены буквой F в таблице, приведённой ниже. По умолчанию инструкции в функциях запускаются в режиме молчанияmode(-1)
какой бы ни был текущий режим в вызывающем окружении.Сценарии (S): инструкции Scilab, написанные в файле (обычно с расширением .sce) вне определения любой функции может включать в себя инструкции
mode
. Когда такой файл запущен с помощьюexec(filename)
илиexec(filename, mode_k)
, то результаты инструкцииmode
в исполняемом файле помечены буквой S в таблице, приведённой ниже. По умолчанию сценарии запускаются в режимеmode(3)
какой бы ни был текущий режим в вызывающем окружении. Это переписывается с помощью опцииmode_k
.Командное окно (C): инструкции Scilab, напрямую вводимые в командном окне, всегда отображаются после ввода. Результаты текущего режима инструкции
mode
или любого последующего режима, введённого в командном окне, помечены буквой C в таблице, приведённой ниже. По умолчанию результаты работы инструкций отображаются в командном окне в режимеmode(2)
.execstr(T): эта функция принимает матрицу текста
T
. Каждый элемент исполняется как последовательность инструкций Scilab, который может содержать инструкциюmode
. Результаты любой последующей инструкцииmode
, встреченной в матрице, помечены буквой T ("текст") в таблице, приведённой ниже. По умолчанию все инструкции исполняются в режиме молчанияmode(-1)
какой бы ни был текущий режим в вызывающем окружении запускающегоexecstr()
.Обратные вызовы (K): обратный вызов является уникальной строкой в которой написаны инструкции Scilab. Эта строка назначается для интерактивного компонента, такого как пункт в меню, флажок и т.д. Инструкции исполняются при активации компонента через воздействие: выбор меню, установку или снятие флажка и т.д. Обратный вызов может содержать инструкции
mode
. Инструкции обратного вызова всегда исполняются непосредственно на уровне командного окна. Результаты их работы остаются в командном окне после того, как обратный вызов будет завершён. Результаты работы инструкцииmode
, используемые в обратном вызове, отмечены буквой K в таблице, приведённой ниже.
Характеристики
режим # | -1 | 0 | 1 | 2 | 3 | 4 | 6 |
---|---|---|---|---|---|---|---|
Инструкции отображения [a] | C | C | C S | C | C S | C S | C S K |
Результаты отображения [b] | всегда | всегда | всегда | всегда | всегда | всегда | |
Шаг за шагом [s] | S F K | S F T K | |||||
Кратко [c] | C++ | + | ++ | SFT + | CK++ SFT+ | S+ | |
Комментарии | [d] | [e] | [f] | [g] | [h] | [h,i] |
Комментарии
[a]: | В нормальном режиме инструкции отображаются в предложением о вводе
--> , идущим впереди. В пошаговом режиме вместо
этого используется >> . |
[b]: | указывает, что точка с запятой в конце не поставлена. |
[c]: | "+" означает: нет дополнительной пустой строки после результатов. "++" означает: нет дополнительной пустой строки ни после выполненных инструкций, ни после результатов. |
[d]: | По умолчанию режим молчания в функциях и с execstr() . |
[e]: | mode(5) эквивалентно mode(1) , но не должен быть использован. |
[f]: | Режим работы по умолчанию в командном окне. |
[g]: | По умолчанию режим работы exec() . |
[h]: |
|
[i]: | mode(7) делает то же самое, но не должен быть использован. |
[s]: | Пошаговый режим останавливается после каждой строки инструкций и ждёт нажатия
пользователем клавиш <ввод> или p<ввод> ,
чтобы продолжить работу. Нажатие клавиши p вводит режим
паузы. Эти режимы могут быть использованы например
в демонстрационных примерах или режиме необработанной отладки. |
Режим в вызывающем окружении никогда не меняется после использования
mode(..) в вызывающей функции, в исполняемом сценарии
.sce или в качестве ввода execstr() после того, как
выполнение завершится и вернёт результат. Когда инструкция mode(k)
используется в обратном вызове, то она исполняется,
она становится и остаётся актуальным режимом отображения в командном окне после завершения
обратного вызова. |
Вывод специально отображаемый функциями наподобие disp() или
mprinf() никогда не отменяется, даже в режиме mode(-1) . |
mode(5) , mode(7) и другие незарегистрированные значения
могут приниматься, но не должны использоваться: они могут быть удалены или переопределены в будущем. |
Примеры
В функции:
function example_mode(level_mode) disp(mode()); mode(level_mode) a = 3 endfunction mode(2) example_mode(0) mode() example_mode(1) example_mode(2)
В инструкции exec(script, mode)
:
ins = [ "mprintf(""Режим исполнения по умолчанию: %d\n"", mode())" "mode(i)" "mprintf(""Новый активный режим: %d\n"", mode())" "// Новый комментарий" "a = rand(2,4)" "b = %pi;" "c = %s;" ]; fn = TMPDIR + "\test_mode.sce"; mputl(ins, fn); // mode(2) i = 1; exec(fn) mode() exec(fn, 0) i = 3; // инструкции отображаются exec(fn, 3) i = 4; // инструкции отображаются + пошаговый режим. "p<ввод>" вводит режим паузы exec(fn, 4)
With execstr()
:
ins = [ "mprintf(""Режим исполнения по умолчанию: %d\n"", mode())" "mode(1) // Введение компактного режима" "mprintf(""Новый активный режим: %d\n"", mode())" "a = rand(2,4)" "b = 1" "c = %pi" ]; mode(2) execstr(ins) mode() // Восстановлен исходный режим
В обратном вызове (в данном случае меню):
Смотрите также
- exec — script file execution
- execstr — execute Scilab code in strings
- точка с запятой — (;) завершение выражения и разделитель строк
- debug — Среда отладки в Scilab
- pause — временно приостанавливает выполнение и разрешает инструкции в консоли.
- getscilabmode — возвращает режим работы Scilab
- режим выдачи предупреждений — предупреждающие сообщения
- funcprot — переключает режим защиты функций Scilab
- ieee — установка режима исключения с плавающей запятой
История
Версия | Описание |
6.0 |
|
Report an issue | ||
<< lines | Командное окно | %onprompt >> |