Match each user input to an expected/allowed value.
match_input(
user,
expected,
fail_action = c("stop", "warning", "message", "nothing"),
user_value_label = NULL
)
Character vector of user input. These will be matched to
expected
using match.arg()
.
Character vector of expected/allowed values.
If any value in user
could not be
matched, or repeated matches occurred, what should happen? Possible values
are "stop"
(default; raises an error), "warning"
, and
"nothing"
.
How to refer to the user input in a stop or warning
message. If NULL
, no label is used.
The matched user inputs
Raise a warning if either
several user inputs match the same expected value, or at least one could not
be matched to any expected value. ciftiTools
uses this function to
match keyword arguments for a function call. Another use is to match
brainstructure labels ("left", "right", or "subcortical").