У меня есть сценарий использования, когда мне нужен некоторый поток управления, основанный на количестве предупреждений, сгенерированных некоторым фрагментом кода:
# clear all warnings
assign("last.warning", NULL, envir = baseenv())
for (i in 0:100) {
# call warning-generating code here
x <- warnings()
cat(paste('There were',length(x),'warnings generated\n'))
if (length(x)>10) {
# do something
}
# clear all warnings again
assign("last.warning", NULL, envir = baseenv())
}
По какой-то причине этот код не работает. Код всегда выдаст There were 0 warnings generated
... почему? Если я запускаю код генерирования предупреждений вне цикла, он выдает ненулевое переменное число предупреждений ...