如何在R包代码中找到函数的代码?

时间:2019-01-16 09:42:59

标签: r

我想找到DBI::dbGetRowsAffected的代码。我从https://github.com/r-dbi/DBI下载了软件包DBI,并在dbGetRowsAffected处找到了该软件包:

#' The number of rows affected
#'
#' This method returns the number of rows that were added, deleted, or updated
#' by a data manipulation statement.
#'
#' @template methods
#' @templateVar method_name dbGetRowsAffected
#'
#' @inherit DBItest::spec_meta_get_rows_affected return
#'
#' @inheritParams dbClearResult
#' @family DBIResult generics
#' @export
#' @examples
#' con <- dbConnect(RSQLite::SQLite(), ":memory:")
#'
#' dbWriteTable(con, "mtcars", mtcars)
#' rs <- dbSendStatement(con, "DELETE FROM mtcars")
#' dbGetRowsAffected(rs)
#' nrow(mtcars)
#'
#' dbClearResult(rs)
#' dbDisconnect(con)
setGeneric("dbGetRowsAffected",
  def = function(res, ...) standardGeneric("dbGetRowsAffected"),
  valueClass = "numeric"
)

但是它的实现在哪里?我可以看到这里是对DBItest::spec_meta_get_rows_affected return的继承。因此,我从https://github.com/r-dbi/DBItest下载了DBItest软件包并搜索了spec_meta_get_rows_affected。发现这只是单元测试。

1 个答案:

答案 0 :(得分:1)

如github上的自述文件所述:

  

DBI包定义了R和数据库管理系统(DBMS)之间的公共接口。

该程序包定义了一个接口,并不实现方法本身。这些方法在此处定义,但在实现接口并需要DBI包的驱动程序包中实现。