我有一个 R 对象lf
,它是类的一个元素tbl_lazy
:
library(dbplyr)
lf <- lazy_frame(a = TRUE, b = 1, c = 2, d = "z", con = simulate_hana())
>class(lf)
[1] "tbl_HDB" "tbl_lazy" "tbl"
在 sloop 包的帮助下,我可以看到通用函数print.tbl_lazy
设置为visible = FALSE
. print.tbl_lazy
这似乎是打印返回的原因Error: object 'print.tbl_lazy' not found
。
generic class visible source
<chr> <chr> <lgl> <chr>
11 print tbl_lazy FALSE registered S3method
当我调试时,print
我看到了对的调用,print.lazy
现在可以看到print.tbl_lazy
.
debugging in: function (x, ...)
UseMethod("print")(x)
debug: UseMethod("print")
Browse[2]> n
debugging in: print.tbl_lazy(x)
debug: {
show_query(x)
}
我的问题是为什么类的所有方法都tbl_lazy
设置为visible = FALSE
,这样做的后果是什么?在我看来,虽然它可能有一些优点,但无论它们是什么,它都会使方法的代码更难访问,在像 R 这样的语言中,被这么多非技术用户使用,似乎是一个很大的坏处。
我无法找到任何有关此的文档。