r 中是否有一次性方法将 print()/cut() 替换为 message()/warning()

Is there a one-off method to replace print()/cut() to message()/warning() in r

我想用 message()/warning() 替换 print()/cat(),因为我希望它被抑制。

但是,我的代码看起来相当嵌套 print()/cat() 并多次使用 print()/cat()。

我想知道是否有更简单的方法一次性解决这个问题。

我每次使用 cat() 和 print() 时都没有执行 packageStartupMessage() 和 suppressPackageStartupMessages()

另外,我不太清楚,是不是直接替换print()/cat(),不影响setMethod()等功能

另外,我也得到了一些建议,但我该如何在我的情况下使用它?

if(verbose)cat(..) (or maybe stop()) if you really have to write text to the console.
(except for print, summary, interactive functions)

这是我的代码。

setMethod("print", "ga", function(x, ...) str(x))

setMethod(
  "show", "ga",
  function(object) {
    cat("An object of class \"ga\"\n")
    cat("\nCall:\n", deparse(object@call), "\n\n", sep = "")
    cat("Available slots:\n")
    print(slotNames(object))
  }
)
... ...

if (x$type == "real-valued") {
    cat(paste("Search domain = \n"))
    print(x$domain, digits = digits)
  }

感谢大家今天的帮助。我想出的解决方案只是将所有 print() 和 cat() 函数替换为 message()。