Description Usage Arguments Details Value Note See Also Examples
Parse input, returning either NULL or a vector of the values.
1 2 3 4 5 | grade.isscalar(x, usena=FALSE, useinf=FALSE, quiet=TRUE)
grade.parse(ans, useeval=TRUE, usena=FALSE, useinf=FALSE, quiet=TRUE)
grade.parseset(ans, useeval=TRUE, usena=FALSE, useinf=FALSE, quiet=TRUE)
grade.parsechunk(ans, useeval=TRUE, usena=FALSE, useinf=FALSE, quiet=TRUE)
|
x |
argument for grade.isscalar to check |
ans |
input to parse. Can be a |
useeval |
|
usena |
|
useinf |
|
quiet |
|
grade.isscalar checks to see if x is a finite numeric scalar
(vector of length 1). If usena=TRUE, NA is also
accepted. If useinf=TRUE, Inf and -Inf are also
accepted.
Input to the grade.parse functions can be a string or a vector.
grade.parsechunk will only return scalars, the other two will
return a vector. All three check return values using
grade.isscalar on each element.
grade.parse delegates character types to either
grade.parsechunk or grade.parseset. If the string
contains any of the characters '[', ']', '(', ')', or ',' the string is
sent to grade.parseset. Otherwise it is sent to
grade.parsechunk.
If x is a character, grade.parsechunk checks for
any of the forbidden characters '[', ']', '(', ')', or ','. If any are
found grade.parsechunk refuses to evaluate the string.
If x is a character, grade.parsechunk makes sure
that it looks like a vector or set. I.e. it starts with an open
bracket or parenthesis and ends with a close bracket or parenthesis. No
other brackets or parenthesis are allowed. The middle is expected to be
a comma delimited list. See the examples for more clarification.
If useeval=TRUE, text elements are evaluated using
eval. If useeval=FALSE text elements are coerced
using as.numeric. eval is more forgiving to input,
i.e. eval of text input '1/2' returns .25, but
as.numeric of text '1/2' returns NA. However, eval
does leave an opening for unchecked code to be run in R. Text
containing parenthesis or brackets is not put into either eval or
as.numeric by the grade.parse functions, but there is
still a risk. If you are concerned, set useeval=FALSE.
grade.parse and grade.parseset returns either a vector
of the values, or NULL if the input was not valid.
grade.parsechunk returns either a single value, or NULL
if the input was not valid.
grade.isscalar returns TRUE if x is a scalar
(vector of length 1), FALSE otherwise.
The grade main page contains a discussion of the
common parameters correctans, studentans, useeval, usena,
useinf, quiet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | grade.parse("[1, 2, 3]") # returns c(1,2,3)
grade.parse("[NA, 1, 2]") # returns NULL
grade.parse("[NA, 1, 2]", usena=TRUE) # returns c(NA, 1, 2)
grade.parse("[pi]") # returns 3.141....
grade.parse("[pi]", useeval=FALSE) # returns NULL
grade.parsechunk("1") # 1
grade.parsechunk(",1") # NULL
grade.parsechunk("[1]", quiet=FALSE) # NULL, with error message
grade.parseset("[1,2,3]") # c(1,2,3)
grade.isscalar(1) # TRUE
grade.isscalar(c(1,2)) # FALSE
grade.isscalar(NA) # FALSE
grade.isscalar(NA, usena=TRUE) # TRUE
grade.isscalar(Inf) # FALSE
grade.isscalar(Inf, useinf=TRUE) # TRUE
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.