The following predicate functions augment predicates from the
base and rlang packages to enable them to produce informative
error messages when used as checks in fasten()
, firmly()
,
validator()
, validate()
.
Boolean predicates
Object predicates
Pattern predicates
Property predicates
Relational predicates
Set predicates
Type predicates
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ## chk_double() and rlang::is_double() are identical as functions
chk_double(runif(2))
chk_double(runif(2), n = 1)
chk_double(1:2)
rlang::is_double(runif(2))
rlang::is_double(runif(2), n = 1)
rlang::is_double(1:2)
## But when rlang::is_double() is used in firmly(),
## it produces an auto-generated error message ...
## Not run:
firmly(function(x) x, rlang::is_double(n = 1))(runif(2))
## End(Not run)
## ... whereas chk_double() produces a specialized error message
## Not run:
firmly(function(x) x, chk_double(n = 1))(runif(2))
## End(Not run)
## Not run:
validate(mtcars, is.matrix, {"cylinder" %in% names(.)})
validate(mtcars, chk_matrix, chk_has_name("cylinder"))
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.