Display warning only once in session
You could use local() to associate a state variable with your function:
myFunc <- local({
notWarnedYet <- TRUE
function(x) {
if (notWarnedYet) {
warning("myFunc is funky")
notWarnedYet <<- FALSE # note use of <<-
}
sqrt(log2(x))
}
})
E.g.,
> myFunc(1:5)
[1] 0.000000 1.000000 1.258953 1.414214 1.523787
Warning message:
In myFunc(1:5) : myFunc is funky
> myFunc(1:5)
[1] 0.000000 1.000000 1.258953 1.414214 1.523787
> myFunc(1:5)
[1] 0.000000 1.000000 1.258953 1.414214 1.523787
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Mon, Aug 25, 2014 at 2:05 PM, Berry Boessenkool
<berryboessenkool at hotmail.com> wrote:
Hi, I'm writing a function that gives a warning in a certain scenario. Reading this once per R session will be enough. i.e. it's not necessary to be shown in subsequent function calls. What's the best way to implement this? Some package-specific option? Where would I find good information on that? searching with the keywords I'm using as the subject of this message didn't dig up any results. Maybe it will be enough to give me some better keywords... Thanks ahead, Berry RclickHandbuch.wordpress.com
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.