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 de la souhaitée
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 ne devez pas oublier d'ajouter un "\n"
À la chaîne passée à cat()
pour obtenir une nouvelle ligne après votre message. Par exemple. compare 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()
vous montre une version de l'objet du niveau R - dans ce cas, il s'agit d'une chaîne de caractères. Vous devez utiliser d'autres fonctions telles que cat()
et writeLines()
pour afficher la chaîne. Je dis "une version" car la précision peut être réduite en chiffres imprimés, et l'objet imprimé peut être augmenté d'informations supplémentaires, par exemple.
Tu peux le faire:
cat("File not supplied.\nUsage: ./program F=filename\n")
Notez que cat
a une valeur return
de 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]))
Ceci est utile si vous envisagez d'écrire un message multiligne avec une combinaison de saisie fixe et variable, tel que le [texte complémentaire pour la troisième ligne] ci-dessus.