Skip to content

Instantly share code, notes, and snippets.

@mdlincoln
Forked from hadley/pick-your-poison.R
Created October 19, 2015 19:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mdlincoln/38f4ebf2f45455f076cf to your computer and use it in GitHub Desktop.
Save mdlincoln/38f4ebf2f45455f076cf to your computer and use it in GitHub Desktop.
msg <- function(..., prob = 0.25) {
if (runif(1) > prob) {
return(invisible())
}
messages <- c(...)
message(sample(messages, 1))
}
encourage <- function() {
msg(
"Everyone makes mistakes.",
"Have you tried googling the error message?",
"Frustration is a typical part of programming.",
"Sometimes carefully reading the error is helpful.",
"Take a deep breath and smile. You'll feel better!"
)
}
discourage <- function() {
msg(
"THE BUG IS IN YOU!",
"Your code is jolly obfuscatory.",
"Try again.",
"Why did you think that would work?!",
"*SIGH*"
)
}
# Pick your poison
options(error = encourage)
log("a")
#> Error in log("a") : non-numeric argument to mathematical function
#> Have you tried googling the error message?
options(error = discourage)
log("a")
#> Error in log("a") : non-numeric argument to mathematical function
#> THE BUG IS IN YOU!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment