Hi, Just for fun, I wanted to try function closures. Here is simple function definition. The following "generateFiles" function return function "fileGen" which will return a a regular file in directory , every time a call it (fileGen).
generateFiles <- function(path, pattern="*.xml") { files <- dir(path, pattern="*.xml", full.names=TRUE, recursive=TRUE, no..=TRUE) total <- length(files) fileindex = 1 fileGen <- function() { if (fileindex > total) { return(NULL) } fileToReturn <- files[[fileindex]] print(fileindex) fileindex <- fileindex + 1 return(fileToReturn) } return(fileGen) } I am incrementing the value of variable "fileindex" in the function "fileGen" , everytime I call this function. But the value of fileindex remains 1 , no matter how many times i call "fileGen()". Can you please tell me how to change the value of fileIndex so as in subsequent call to "fileGen" will reflect this. -- ठशà¥à¤µà¤¨à¥ पà¥à¤°à¤¤à¤¾à¤ª [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.