私が書いたパッケージを学生に使ってもらうクラスを教えたことがあります。クラスが終了したので、関数のドキュメントに沿って、これらの各関数のコードをインラインで提供したいと思います。これを達成するために設定できるグローバルフラグはありますか? ある種のコードハック?
質問する
99 次
2 に答える
1
R ファイルを brew パッケージで前処理することができます。
ファイル「foo-tmp.r」
##' a function that doesn't do much
##'
##' @title foo
##' @param x
##' @param y
##' @param z
##' @return error message
##' @author Baptiste
##' @examples
##' dontrun{
#<%= cat(paste0("##'", getSrcref(foo), "\n")) %> ##' }
foo <- function(x, y, z){
rnorm(10) == 1
# inline comment
.NotYetImplemented()
" other stuff"
return(FALSE)
}
次に、ファイルを処理して生成しますfoo.r
source("foo-tmp.r") # to know what the function is
brew("foo-tmp.r", "foo.r")
結果の出力で:
##' a function that doesn't do much
##'
##' @title foo
##' @param x
##' @param y
##' @param z
##' @return error message
##' @author Baptiste
##' @examples
##' dontrun{
###'function(x, y, z){
##' rnorm(10) == 1
##' # inline comment
##' .NotYetImplemented()
##' " other stuff"
##' return(FALSE)
##' }
##' }
foo <- function(x, y, z){
rnorm(10) == 1
.NotYetImplemented()
" other stuff"
return(FALSE)
}
于 2013-03-04T00:22:05.493 に答える
0
この関連する質問を参照してください。グローバル フラグやソリューションはありません。@baptiste のは最高です。この状況が変化した場合に備えて、コミュニティ wiki に設定された回答。
于 2013-03-05T07:15:34.793 に答える