Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

A discussion on StackOverflow today shows an interesting use of special characters inside the cat function.

The most common special characters that you may have come across are the tab and newline characters, represented by \t and \n respectively. Try them for yourself.

cat("Red\tlorry\nYellow\tlorry\n")


cat also respects the backspace character, \b, and the carriage return character, \r, which means that you can delete things. Usually, this isn’t very useful, but it allows us to overwrite text in the console.

cat("ab\bc")      #\b removes the previous character
cat("abc\rde")    #\r removes everything to the start of the line


Here’s a simple clock utility, adapted from Mark, Zach and DWin’s code in the linked question, that uses this technique.

clock <- function()
{
repeat
{
cat("\r", format(Sys.time(), "%H:%M:%S"))
flush.console()
Sys.sleep(1)
}
}
clock()


Press escape to exit the clock utility. You can see a complete list of special characters over at asciitable.com.

Tagged: ascii, clock, r