Blame | Last modification | View Log | Download | RSS feed
\name{read.and.check}\alias{read.and.check}\title{Read data interactively and check that it satisfies conditions}\usage{read.and.check(message = "", what = numeric(), lower, upper, answer.in,default)}\arguments{\item{message}{message displayed before prompting for user input.}\item{what}{the type of \code{what} gives the type of data to be read.}\item{lower}{lower limit of input, for numeric input only.}\item{upper}{upper limit of input, for numeric input only.}\item{answer.in}{the input must correspond to one of the elements of thevector \code{answer.in}, if supplied.}\item{default}{value assumed if user enters a blank line.}}\description{Input is read interactively and checked against conditions specifiedby the arguments \code{what}, \code{lower}, \code{upper} and\code{answer.in}. If the input does not satisfy all the conditions,an appropriate error message is produced and the user is promptedto provide input. This process is repeated until a valid input valueis entered.}\value{The value of the valid input. When the \code{default} argument isspecified, a blank line is accepted as valid input and in this case\code{read.and.check} returns the value of \code{default}.}\note{Since the function does not return a value until it receives validinput, it extensively checks the conditions for consistency beforeprompting the user for input. Inconsistent conditions will causean error.}\author{Martyn Plummer}\keyword{utilities}