【发布时间】:2014-10-30 18:02:23
【问题描述】:
只是like this question,除了这个包作者更令人烦恼的是使用printf和snprintf在C/C++代码中显示消息、警告和错误的混合:
library('inline')
silly_developer_cxx_function <- cxxfunction(
signature(x = "integer"),
'printf("%s", "Seriously! Thanks for using my function!!");
return ScalarReal(INTEGER(x)[0]);'
)
silly_developer_function <- function(i){
print("Thanks for using my function!!")
return(silly_developer_cxx_function(as.integer(i)))
}
我可以用capture.output 抑制R 级打印语句,但sprintf 语句似乎无法杀死:
> capture.output(x <- silly_developer_function(1L), file='/dev/null')
Seriously! Thanks for using my function!!
【问题讨论】:
-
这是一个严重的实现缺陷,你联系过包的作者吗?也许她觉得这很有趣,但对我们所有人来说,这只是烦人......
-
@Stefano Sanfilippo 我正在联系有问题的包的作者,但同时我正在尝试解决这个错误。