Создать постоянную многострочную строку - PullRequest
4 голосов
/ 31 января 2012

Я хотел бы присвоить многострочную строку переменной в R, чтобы я мог вызвать переменную позже.Когда я пытаюсь paste("line 1", "line 2", sep = "\n"), я получаю "line 1\nline 2".Когда я пытаюсь cat("line 1", "line 2", sep = "\n"), я получаю желаемый вывод, но это вывод не является постоянным (cat() возвращает объект типа None).Причина, по которой я пытаюсь использовать многострочную строку, заключается в том, что мне нужно отправлять результаты запроса через SMTP-сервер (и пакет sendmailR) в теле сообщения (не как вложение).

1 Ответ

11 голосов
/ 31 января 2012

paste("line 1", "line 2", sep = "\n") - это правильный путь, вы получаете то, что хотели:

> a = paste("line 1", "line 2", sep = "\n")
> cat(a)
line 1
line 2> 

Ваша путаница, вероятно, происходит из-за того, что print экранирует выход, поэтому он печатает строку так, как это ожидалось бы синтаксическим анализатором:

> print(a)
[1] "line 1\nline 2"

Обратите внимание на кавычки вокруг строки. cat печатает вывод как есть. В обоих случаях объект один и тот же, отличается только формат вывода.

Очевидно, что вы можете создать строку напрямую без paste:

> a = "line1\nline2"
> cat(a)
line1
line2> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...