[R] using cat to log to file with sapply

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Thu Feb 15 01:56:59 CET 2018


Your call to catf in testit is after the return,  so it is never called. 

FWIW my antibugging strategy (and readability strategy) is to never use the return function... I structure my logic to end up at the end with my desired function result in a variable and I simply put that variable on the last line of the function.
-- 
Sent from my phone. Please excuse my brevity.

On February 14, 2018 4:16:19 PM PST, Alexander.Herr at csiro.au wrote:
>Hi List,
>I am trying to write unsuccessfully to a logfile with cat. Here my
>example code:
>
>letters[1:5]->x
>logf<-"test.txt"
>cat('%%%%%%%%%%%%%%%%%%%%%%%%%%\n',file=logf)
>catf<-function(x,...,logfile='log.txt', append=TRUE){ cat(x,'\n',
>file=logfile, append=append)}
>testit<-function(x,...){
>  paste0('this is x: ',x)->y
>  return(y)
>  catf("++++++++++++++++++test=============",...)
>  }  
>sapply(x, function(x) testit(x, logfile=logf))
>
>Any suggestions appreciated.
>
>Thanks
>Herry
>______________________________________________
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>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.



More information about the R-help mailing list