Spec-Zone.ru › Octave 9

14.1.2 Ввод с терминала

В Octave есть три функции, упрощающие запрос ввода у пользователей. Функции input и menu обычно используются для управления интерактивным диалогом с пользователем, а функция keyboard обычно используется для простой отладки.

: ans = input (prompt)
: ans = input (prompt, "s")

Вывести prompt и ожидать ввода пользователя.

Например,

input ("Pick a number, any number! ")

выводит приглашение

Pick a number, any number!

и ожидает, пока пользователь введёт значение. Введённая пользователем строка интерпретируется как выражение, поэтому это может быть буквальная константа, имя переменной или любой другой допустимый код Octave.

Количество возвращаемых аргументов, их размер и класс зависят от введённого выражения.

Если вам нужно получить только буквальное строковое значение, можно вызвать input, указав символьную строку "s" в качестве второго аргумента. Это указывает Octave вернуть введённую пользователем строку напрямую, не интерпретируя её.

Поскольку средство постраничного вывода может ожидать вывода, рекомендуется всегда вызывать fflush (stdout) перед вызовом input. Это гарантирует, что весь ожидающий вывода текст будет выведен на экран до появления приглашения.

См. также: yes_or_no, kbhit, pause, menu, listdlg.

: choice = menu (title, opt1, …)
: choice = menu (title, {opt1, …})

Вывести меню с заголовком title и параметрами opt1, … и ожидать ввода пользователя.

Если запущен графический интерфейс, меню отображается в графическом виде с помощью listdlg. В противном случае заголовок и параметры меню выводятся в консоль.

title — это строка, а параметры можно передать в виде отдельных строк или массива ячеек со строками.

Возвращаемое значение choice — номер выбранного пользователем параметра, начиная с 1. Если пользователь прерывает диалог или делает недопустимый выбор, возвращается 0.

Эта функция полезна для интерактивных программ. Число передаваемых параметров не ограничено, однако отображать больше параметров, чем удобно помещается на одном экране, может быть неудобно.

См. также: input, listdlg.

: ans = yes_or_no ("prompt")

Задать пользователю вопрос, на который можно ответить «да» или «нет».

Возвращает логическое значение true, если ответ — «да», или false, если ответ — «нет».

Принимает один аргумент — prompt, строку, отображаемую при задании вопроса. Строка prompt должна заканчиваться пробелом; yes-or-no добавляет к ней строку ‘(yes or no) ’. Пользователь должен подтвердить ответ клавишей RET и может редактировать его до подтверждения.

См. также: input.

Для input в приглашении доступны стандартные функции редактирования и просмотра истории командной строки.

В Octave также есть функция, позволяющая получить один символ с клавиатуры без необходимости нажимать клавишу возврата каретки.

: c = kbhit ()
: c = kbhit (1)

Считать одно нажатие клавиши.

Если функция вызвана с аргументом (обычно 1), она не ожидает нажатия клавиши и немедленно возвращает следующий символ из буфера ввода клавиатуры или пустую строку ("") в случае, если нажатий нет.

Например,

c = kbhit ();

сразу после нажатия клавиши присвоит c следующий введённый с клавиатуры символ.

c = kbhit (1);

эквивалентно предыдущему примеру, но не ожидает нажатия клавиши и возвращает пустую строку, если нажатий нет.

См. также: input, pause.

© 1996–2026 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v9.4.0/Terminal-Input.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API