1

我有一个 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 这样的语言中,被这么多非技术用户使用,似乎是一个很大的坏处。
我无法找到任何有关此的文档。

4

0 回答 0