2.4.2.4. - Keyboard Input
input()-
Reads a line of input from the keyboard.
Leading
white space and the trailing newline are removed and the string
is returned.
Returns the null string
"" if only white space was entered.
Example:
1.FOURC> def change_it '{ 2.quot> local it 3.quot> printf("Change it? "); 4.quot> if ((it=input()) != "") 5.quot> change_mac(it) 6.quot> }'
7.FOURC>
input(prompt)-
As above, but prompts with the string
prompt.
Examples:
1.FOURC> input("Hit return when ready ... ") Hit return when ready ... <return>
2.FOURC>
input(n)-
This function behaves differently depending on whether the
input source is the keyboard or a pipe from another program (where
spec is invoked with the
-p fd pid
option, with
nonzero
fd.)
In the usual case,
if
n
is less than or equal to zero,
the tty state is set to
"cbreak"
mode and
input echo is turned off.
Then
input() checks to see if the user has typed a character and
immediately returns a null string if nothing has been typed.
Otherwise, it returns a string
containing the single (or first) character the user typed.
If
n
is less than zero, the cbreak, no-echo mode remains in effect when
input() returns.
If
n
is greater than zero,
the normal tty state is restored (as it is also
if there is
an error, if the user types
^C or if the user enters the
exit command).
Also,
no characters are read and the null string is returned.
The normal state is also restored
before the next main prompt is issued, whether due
to an error, a
^C, or through the normal flow of the program.
On the other hand, when spec is invoked with the
-p fd pid
option, with
nonzero
fd,
input() reads nothing but does return the number of characters available to be
read.
If
n
is nonzero,
input() simply reads and returns a line of text, as if it had been invoked
with no argument.
yesno(val)-
Reads a line of input from the keyboard.
The function returns 1 if the user answers with
a string beginning with
Y, y or
1. The value of
val
is returned if the user simply enters return.
Otherwise the function returns zero.
yesno(prompt, val)-
As above, but prompts the user with the string
prompt.
The characters
" (YES)? "
are appended to the prompt string if
val
is nonzero.
Otherwise the characters
" (NO)? "
are added.
getval(val)-
Reads a line of input from the keyboard.
If the user enters a value, that value is returned.
The value of
val
is returned if the user simply enters return.
The function works with both number and string values.
getval(prompt, val)-
As above, but prompts the user with the string
prompt.
The string is printed followed by
the current value of
val
in parenthesis, a question mark and a space.
For example,
1.FOURC> DATAFILE = getval("Data file", DATAFILE) Data file (pt100.133)? <return>
2.FOURC>
|