是如何muffleWarning
实施的invokeRestart("muffleWarning")
?我问是因为在以下代码中:
e <-expression({
warning("Step 1",immediate.=TRUE)
warning("Step 2",immediate.=TRUE)
})
r <- withRestarts(withCallingHandlers(eval(e)
,warning=function(co){
print(co) #1
invokeRestart("mymuffleWarn",co)
})
, mymuffleWarn=function(co) print(conditionMessage(co)))
我得到了第一个警告的输出(来自#1)。但是,如果我替换mymufflewarn
为muffleWarning
(在invokeRestart
)中,所有print(co)
输出都会出现。
谢谢