Impression de nouvelles lignes avec print () dans R

J’essaie d’imprimer un message multiligne dans R. Par exemple,

print("File not supplied.\nUsage: ./program F=filename",quote=0) 

Je reçois la sortie

 File not supplied.\nUsage: ./program F=filename 

au lieu du désiré

 File not supplied. Usage: ./program F=filename 

Une alternative à cat() est writeLines() :

 > writeLines("File not supplied.\nUsage: ./program F=filename") File not supplied. Usage: ./program F=filename > 

Un avantage est que vous n’avez pas à vous souvenir d’append un "\n" à la chaîne transmise à cat() pour obtenir une nouvelle ligne après votre message. Par exemple, comparez ce qui précède à la même sortie cat() :

 > cat("File not supplied.\nUsage: ./program F=filename") File not supplied. Usage: ./program F=filename> 

et

 > cat("File not supplied.\nUsage: ./program F=filename","\n") File not supplied. Usage: ./program F=filename > 

La raison pour laquelle print() ne fait pas ce que vous voulez est que print() affiche une version de l’object à partir du niveau R – dans ce cas, il s’agit d’une chaîne de caractères. Vous devez utiliser d’autres fonctions comme cat() et writeLines() pour afficher la chaîne. Je dis “une version” parce que la précision peut être réduite dans les chiffres imprimés et que l’object imprimé peut être complété avec des informations supplémentaires, par exemple.

Tu peux le faire:

 cat("File not supplied.\nUsage: ./program F=filename\n") 

Notez que cat a une valeur de return NULL .

Utiliser writeLines vous permet également de vous passer du caractère de nouvelle ligne “\ n”, en utilisant c() . Un péché:

 writeLines(c("File not supplied.","Usage: ./program F=filename",[additional text for third line])) 

Cela est utile si vous prévoyez d’écrire un message multiligne avec des entrées combinées fixes et variables, comme le [texte supplémentaire pour la troisième ligne] ci-dessus.