устанавливает или запрашивает режим отображения в командном окне инструкций 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 |
|