listeFonctions <- function(fichier="") { # test du paramètre et aide éventuelle if (missing(fichier) | fichier=="") { cat("\nsyntaxe : listeFonctions(fichier)\n") return(invisible("")) } # fin de si stopifnot(file.exists(fichier)) # arrêt si le fichier n'est pas présent lignes <- enc2utf8( readLines(fichier) ) # lecture du fichier + conversion en utf8 # détection des entêtes de fonction expReg <- ".*<-\\s+function\\(" numLignes <- grep(pattern=expReg,x=lignes) foncLignes <- grep(pattern=expReg,x=lignes,value=TRUE) fonctions <- sapply(FUN=function(x) { x[[1]][1]} ,X=strsplit(foncLignes,split=" ")) # affichage phrase <- paste("Liste des fonctions du fichier",fichier,collapse=" ") soulign <- paste(rep("=",nchar(phrase)),collapse="") cat("\n",phrase ,"\n",soulign,"\n\n") print(cbind(numLignes,fonctions),quote=FALSE) } # fin de fonction listeFonctions