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 — исполнение файла-сценария
- execstr — исполняет Scilab-код, заданный в строках
- точка с запятой — (;) завершение выражения и разделитель строк
- debug — Среда отладки в Scilab
- pause — временно приостанавливает выполнение и разрешает инструкции в консоли.
- getscilabmode — возвращает режим работы Scilab
- режим выдачи предупреждений — предупреждающие сообщения
- funcprot — переключает режим защиты функций Scilab
- ieee — установка режима исключения с плавающей запятой
История
| Версия | Описание |
| 6.0 |
|
| Report an issue | ||
| << lines | Командное окно | %onprompt >> |

