如何将结果传递到stopifnot()
和testit::assert()
?
library(magrittr)
0 %>%
testit::assert("gotta be small", . < 10)
# Error: . is not TRUE
0 %>%
testit::assert(. < 10)
# Error: . is not TRUE
0 %>%
stopifnot(. < 10)
# Error in function_list[[k]](value) : . is not TRUE
作品:
testit::assert(0 < 10)
stopifnot(0 < 10)
我假设它们不像add()
这样的常规函数,因为它们正在评估表达式。我猜我应该以不同的方式包装该参数,因此可以通过他们的match.call()
调用正确地解释该参数,但是我不确定该怎么做。