【发布时间】:2015-07-07 14:26:51
【问题描述】:
这个问题与this question 非常相似,但是当我尝试回答时,我在R CMD check 之后收到了一个附加的“注意”。虽然它只是一个NOTE,但我真的很想有一个完全干净的检查。
* checking Rd line widths ... NOTE
Error: 8: no comma in argument list following \S4method
Execution halted
如果我传递所有其他参数 (i,j,drop) 并记录所有参数,但我不使用它们,我可以摆脱这种情况。在我看来,如果在这种情况下不相关,只添加额外的文档是一种浪费。
#' An S4 class that stores a list.
#' @export
setClass("testClass",
representation(a="list"))
#' Extract parts of testClass.
#' @param x testClass
#'
setMethod("[", signature(x = "testClass"),
function (x){
print("void function")
}
)
导致错误的Rd文件:
% Generated by roxygen2 (4.1.1): do not edit by hand
% Please edit documentation in R/test.R
\docType{methods}
\name{[,testClass-method}
\alias{[,testClass-method}
\title{Extract all elements}
\usage{
\S4method{[}{testClass}(x)
}
\arguments{
\item{x}{testClass}
}
\description{
Extract all elements
}
如果我定义并记录所有参数,则以下 Rd 不会导致错误
% Generated by roxygen2 (4.1.1): do not edit by hand
% Please edit documentation in R/test.R
\docType{methods}
\name{[,testClass,missing,missing,missing-method}
\alias{[,testClass,missing,missing,missing-method}
\title{Extract all elements}
\usage{
\S4method{[}{testClass,missing,missing,missing}(x, i, j, drop)
}
\arguments{
\item{x}{testClass}
\item{i}{missing}
\item{j}{missing}
\item{drop}{missing}
}
\description{
Extract all elements
}
【问题讨论】:
-
记录它们并不是浪费。您正在使用具有明确签名的泛型,并且使用该泛型的任何人都会有合理的期望,除非另有明确说明,否则它应该表现为泛型(即提供
i、j等)。更令我惊讶的是,R CMD check 只是抱怨格式错误的文档,而不是不正确的方法定义。 -
@BrodieG,我会同意的。可以定义该方法,但只有文档在抱怨。也许需要改进 R CMD 检查?