[R] List of lists
Jim Lemon
jim at bitwrit.com.au
Tue Jul 30 23:33:24 CEST 2013
On 07/30/2013 10:05 PM, mohan.radhakrishnan at polarisft.com wrote:
>
> Hi,
> I am creating a list of 2 lists, one containing filenames
> and the other file descriptors. When I retrieve them I am unable to close
> the file descriptor.
>
> I am getting this error when I try to call close(filedescriptors
> [[2]][[1]]).
>
> Error in UseMethod("close") :
> no applicable method for 'close' applied to an object of class "c
> ('integer', 'numeric')"
>
> print(filedescriptors[[2]][[1]]) seems to be printing individual elements.
>
> Thanks,
> Mohan
>
> filelist.array<- function(n){
> cpufile<- list()
> cpufiledescriptors<- list()
> length(cpufile)<- n
> for (i in 1:n) {
> cpufile[[i]]<- paste("output", i, ".txt", sep = "")
> cpufiledescriptors[[i]]<-file( cpufile[[i]], "a" )
> }
> listoffiles<- list(cpufile=cpufile,
> cpufiledescriptors=cpufiledescriptors)
> return (listoffiles)
> }
>
>
>
> #Test function
>
> test.filelist.array<- function() {
> filedescriptors<- filelist.array(3)
> print(filedescriptors[[2]][[1]])
> print(filedescriptors[[2]][[2]])
> print(filedescriptors[[2]][[3]])
>
> }
>
>
Hi Mohan,
When you have opened connections as above, you need to pass the
connection, not just one element, to "close":
close(listoffiles$cpufiledescriptors[[1]])
Jim
More information about the R-help
mailing list