1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| block <- function(block)
{
## Purpose: tester si un block doit être exécuté (retourne TRUE ou FLASE).
## ----------------------------------------------------------------------
## Arguments: block : nom du block
## ----------------------------------------------------------------------
## Author: Yves Reecht, Date: 4 janv. 2012, 11:02
return(exists(block) && isTRUE(get(block)))
}
sourceBlock <- function(file, blocks,...)
{
## Purpose: sourcer uniquement les blocs définis, dans le fichier "file".
## ----------------------------------------------------------------------
## Arguments: file : fichier à sourcer.
## blocks : noms des blocs à exécuter (vecteur de chaînes
## de caractères).
## ... : arguments optionnels de source()
## ----------------------------------------------------------------------
## Author: Yves Reecht, Date: 4 janv. 2012, 10:36
on.exit(rm(list=blocks, envir=.GlobalEnv))
invisible(lapply(blocks,
function(x)
{
assign(x, TRUE, envir=.GlobalEnv)
}))
source(file=file,...)
} |
Partager