Hello Dear R-help I tried to understand how recursive programming works in R. Bellow is simple recursive function.
binary1 <- function(n) { if(n > 1) { binary(as.integer(n/2)) } cat(n %% 2) } When I call binary1(10) I get 1010. I believe that cat function stores value to a buffer appending values as recursion proceeds and at the end it prints the buffer. Am I right? I tried to modify the function to get some understanding: binary2 <- function(n) { if(n > 1) { binary2(as.integer(n/2)) } cat(n %% 2, sep=",") } With call binary2(10) I get also 1010. Why the output is not separated by commas? If I use in binary2 function cat(n %% 2, ",") on last line, the output is separated. Outside recursive function the cat function prints separated output in both cases e.g. cat(c(1:10), sep=",") and cat(c(1:10), ",") Derek ______________________________________________ R-help@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.