Я изучаю возможности cat()
и message()
для форматирования вывода моих функций.
Когда я использую cat(fill = TRUE)
, в конец сообщения добавляется новая строка, которая позволяетдля приятной печати последующих сообщений.Когда я устанавливаю fill = FALSE
, эти сообщения печатаются в одной строке.
По какой-то причине это поведение печати изменяется, когда я запускаю код неинтерактивно и связываю код с помощью rmarkdown. Сообщение один раз в одной строке теперь разделено на несколько строк - и я не могу понять, почему или как это исправить. (это не относится к интерактивным сеансам, скажем, в Rstudio)
Пожалуйста, посмотрите минимальный пример ниже и попробуйте его интерактивно, чтобы увидеть разницу.
Rmarkdown Output
print_messages <- function(newline = TRUE){
cat("1st line", fill = newline)
message("2nd line")
}
print_messages()
#> 1st line
#> 2nd line
print_messages(newline = FALSE) # this is, where the difference occurs
#> 1st line
#> 2nd line
Интерактивный вывод
print_messages <- function(newline = TRUE){
cat("1st line", fill = newline)
message("2nd line")
}
print_messages()
#> 1st line
#> 2nd line
print_messages(newline = FALSE) # this is, where the difference occurs
#> 1st line2nd line
Создано в2019-02-04 по представлению пакета (v0.2.1)