0

私が書いたパッケージを学生に使ってもらうクラスを教えたことがあります。クラスが終了したので、関数のドキュメントに沿って、これらの各関数のコードをインラインで提供したいと思います。これを達成するために設定できるグローバルフラグはありますか? ある種のコードハック?

4

2 に答える 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 に答える