Uma alternativa para cat()é writeLines():
> writeLines("File not supplied.\nUsage: ./program F=filename")
File not supplied.
Usage: ./program F=filename
>
Uma vantagem é que você não precisa se lembrar de anexar um "\n"à string passada para cat()para obter uma nova linha após sua mensagem. Por exemplo, compare o acima com a mesma cat()saída:
> cat("File not supplied.\nUsage: ./program F=filename")
File not supplied.
Usage: ./program F=filename>
e
> cat("File not supplied.\nUsage: ./program F=filename","\n")
File not supplied.
Usage: ./program F=filename
>
A razão de print()não fazer o que você quer é print()mostrar uma versão do objeto do nível R - neste caso, é uma string de caracteres. Você precisa usar outras funções como cat()e writeLines()para exibir a string. Digo "uma versão" porque a precisão pode ser reduzida nos números impressos e o objeto impresso pode ser aumentado com informações extras, por exemplo.
writelinese 'cat` não parecem escrever para uma variável. Eu estava tentando criar uma variável de string com várias linhas.stringvar <- writeLines("line1\nline2")não atribui.stringvarretorna ainda nulo Alguma alternativa?