Есть ли способ остановить программу R без ошибок?
Например, у меня есть большой источник, определяющий несколько функций, и после него есть некоторые вызовы функций. Бывает, что я редактирую некоторую функцию и хочу, чтобы определения функций обновлялись в среде R, но они фактически не вызываются.
Я определил переменную justUpdate
и когда она TRUE
хочет остановить программу сразу после определения функций.
ReadInput <- function(...) ...
Analyze <- function(...) ...
WriteOutput <- function(...) ...
if (justUpdate)
stop()
# main body
x <- ReadInput()
y <- Analyze(x)
WriteOutput(y)
Я вызвал функцию stop()
, но проблема в том, что она выводит сообщение об ошибке.
ctrl + c - это еще один вариант, но я хочу остановить источник в определенной строке.
Проблема с q()
или quit()
заключается в том, что она завершает сеанс R, но я хочу, чтобы сеанс R все еще был открыт.
В качестве предлагаемого browser() может быть другой вариант, но все же не идеальный, поскольку источник завершается в новой среде (т.е. подсказка R изменится на Browser[1]>
, а не на >
). Тем не менее мы можем нажать Q
, чтобы выйти, но я ищу простой способ.
Другой вариант - использовать if (! justUpdate) { main body }
, но он очищает проблему, а не решает ее.
Есть ли лучший вариант?