-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
Of Ashwani Rao
Sent: Monday, August 12, 2013 9:45 AM
To: r-help at r-project.org
Subject: [R] function closure
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]]