Создать постоянную многострочную строку

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

1 ответ

Решение

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> 
Другие вопросы по тегам