带有stopifnot()和testit :: assert()的管道

时间:2018-10-16 17:27:10

标签: r

如何将结果传递到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()调用正确地解释该参数,但是我不确定该怎么做。

0 个答案:

没有答案