Печать строк с помощью print () в R - PullRequest
100 голосов
/ 01 ноября 2010

Я пытаюсь напечатать многострочное сообщение в R. Например,

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

Я получаю вывод

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

вместо желаемого

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

Ответы [ 3 ]

114 голосов
/ 01 ноября 2010

Альтернативой cat() является writeLines():

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

Преимущество состоит в том, что вам не нужно добавлять "\n" в строку, переданную cat(), чтобы получить новую строку после вашего сообщения. Например. сравните вышесказанное с тем же cat() выводом:

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

и

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

Причина, по которой print() не делает то, что вам нужно, заключается в том, что print() показывает вам версию объекта с уровня R - в данном случае это строка символов. Вам нужно использовать другие функции, такие как cat() и writeLines(), чтобы отобразить строку. Я говорю «версия», потому что точность печатных чисел может быть снижена, а печатный объект может быть дополнен, например, дополнительной информацией.

18 голосов
/ 01 ноября 2010

Вы можете сделать это:

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

Обратите внимание, что cat имеет значение return NULL.

5 голосов
/ 07 января 2016

Использование writeLines также позволяет отказаться от символа новой строки "\ n", используя c().Как в:

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

Это полезно, если вы планируете написать многострочное сообщение с комбинированным фиксированным и переменным вводом, например, [дополнительный текст для третьей строки] выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...