我想創建一個函式(類似于ggplotor lm)列印一個值 - 除了回傳的值 - 只有當它不被其他函式呼叫時(除了print)。
我試過的:
my_fun <- function(x){
print(0)
invisible(x 1)
}
my_fun(1) #> 0 works as desired
print(my_fun(1)) #> 0 2 should print only 0
val <- my_fun(1) #> 0 shouldn't print anything
uj5u.com熱心網友回復:
可能有多種方法可以實作這一點,但本質上您需要為my_fun. 在gglot2函式中回傳一個資料結構,但該資料結構的 print 方法實際上是在視覺上呈現它。
這是使用 S3 類的示例
my_fun <- function(x){
invisible(structure(x 1, class = "myClass"))
}
print.myClass <- function(x, ...) {
print(0)
}
my_fun(1)
print(my_fun(1))
#> [1] 0
val <- my_fun(1)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/512636.html
標籤:r功能
