R раковина () и сообщение выводится в том же файле - проверка исправности - PullRequest
2 голосов
/ 01 декабря 2019

Я использую раковину R в () функцию ошибок захвата, предупреждений, сообщений и консольного вывода в один текстовый файл.

1002 * Мне интересно, если одновременно опускаясь как сообщение и вывод типов в один открытый файл - это плохо?

Я собираю все вышеперечисленное в один файл, но я должен открыть дескриптор файла, чтобы можно было захватить оба типа приемников,Следующий код иллюстрирует использование подхода с дескриптором файла:

message_filename = 'script_messages.txt'
try(message_file <- file(message_filename, open="at")) # open file for appending in text mode
sink(message_file, type="message")
sink(message_file, type="output")

cat("\n\n")
message(format(Sys.time(), "%a %b %d %Y %X TZ(%z)"), appendLF = TRUE)
# next line produces messages since file doesn't exist
try(source("import_file.R"), silent = TRUE)

# Save and close writing errors, warnings, messages, and console output to a file
sink(type="output")
sink(type="message")
close(message_file)

Если я не открою дескриптор файла, то сообщения типа «выходной» приемника являются единственными сообщениями, захваченными в текстовом файле.

Документация по раковине {base} содержит некоторую ключевую информацию в первой половине раздела Details, но я не достаточно беглый, чтобы быть уверенным, что реализовал ее правильно.

...