устанавливает или запрашивает режим отображения в командном окне инструкций Scilab
mode(k) k = mode()
целое число от -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() // Восстановлен исходный режим | ![]() | ![]() |
В обратном вызове (в данном случае меню):
| Version | Description |
| 6.0 |
|