Octave has three functions that make it easy to prompt users for
menu functions are normally
used for managing an interactive dialog with a user, and the
keyboard function is normally used for doing simple debugging.
Print prompt and wait for user input.
input ("Pick a number, any number! ")
prints the prompt
Pick a number, any number!
and waits for the user to enter a value. The string entered by the user is evaluated as an expression, so it may be a literal constant, a variable name, or any other valid Octave code.
The number of return arguments, their size, and their class depend on the expression entered.
If you are only interested in getting a literal string value, you can call
input with the character string
"s" as the second argument.
This tells Octave to return the string entered by the user directly, without
evaluating it first.
Because there may be output waiting to be displayed by the pager, it is a
good idea to always call
fflush (stdout) before calling
This will ensure that all pending output is written to the screen before
Display a menu with heading title and options opt1, …, and wait for user input.
If the GUI is running, the menu is displayed graphically using
listdlg. Otherwise, the title and menu options are printed on the
title is a string and the options may be input as individual strings or as a cell array of strings.
The return value choice is the number of the option selected by the user counting from 1. If the user aborts the dialog or makes an invalid selection then 0 is returned.
This function is useful for interactive programs. There is no limit to the number of options that may be passed in, but it may be confusing to present more than will fit easily on one screen.
Ask the user a yes-or-no question.
Return logical true if the answer is yes or false if the answer is no.
Takes one argument, prompt, which is the string to display when asking
the question. prompt should end in a space;
yes-or-no adds the
string ‘(yes or no) ’ to it. The user must confirm the answer with
RET and can edit it until it has been confirmed.
See also: input.
input, the normal command line history and editing functions
are available at the prompt.
Octave also has a function that makes it possible to get a single character from the keyboard without requiring the user to type a carriage return.
Read a single keystroke from the keyboard.
If called with an argument, don’t wait for a keypress.
x = kbhit ();
will set x to the next character typed at the keyboard as soon as it is typed.
x = kbhit (1);
is identical to the above example, but doesn’t wait for a keypress, returning the empty string if no key is available.