op <- options(warn=0) #although doesn't work for any value of warn
assign("last.warning", NULL, envir = baseenv())
thisDoesntWork<- function() {
warning("HEY, this is definitely a warning!")
cat(paste("number of warnings:",length(warnings())))
}
>thisDoesntWork()
Warning in thisDoesntWork() : HEY, this is definitely a warning!
number of warnings: 0
चेतावनी की संख्या 1 के बजाय 0 होना चाहिए - ऐसा लगता है कि warnings()
रिटर्न कुछ भी नहीं करता है, तो एक समारोह के भीतर बुलाया। क्यूं कर? चेतावनियां होने पर फ़ंक्शन में जांचने के लिए कोई इसके आसपास कैसे काम कर सकता है, और उन्हें प्रिंट कर सकता है?चेतावनियां() फ़ंक्शन के भीतर काम नहीं करती हैं? इस के आसपास कोई कैसे काम कर सकता है?
मैं tryCatch
का उपयोग नहीं करना चाहता, क्योंकि तब मैं उस मान को खो देता हूं जो फ़ंक्शन देता है (यह तब भी मान्य मान लौटा सकता है, भले ही यह चेतावनी उत्पन्न हो)।
आप उत्तर की विशेषता के रूप में चेतावनियों की संख्या को वापस करने की कल्पना भी कर सकते हैं। 'attr (ans," number_of_warnings ") <- .number_of_warnings' –
बढ़िया! मैं इस तरह से चेतावनी संदेश भी ले सकता हूं ('w') –
आपका स्वागत है। कुछ भी नहीं कहता है कि आप एक उथल-पुथल की तरह धन्यवाद। :) –