library(numbers)
dropletE
function (n)
{
stopifnot(is.numeric(n), length(n) == 1, n >= 1)
if (n > 1000)
cat("Warning: Calculating n > 1000 digits will take a long time!\n")
n <- n + 1
}
Теперь, если я запускаю
dropletE(10000)
, сценарий переходит к вычислениям без отображения сообщения cat на экране (стандартный вывод). Только после выбора Mis c -> Stop All Computations появляется сообщение:
Warning: Calculating n > 1000 digits will take a long time!
Q1: почему задерживается печать сообщения?
Q2: как добавить в это сообщение является трехсторонним вопросом для пользователя, хочет ли он продолжить / изменить значение или выйти из сценария?
Мне известна функция readline (), но можно ли ее использовать внутри вызова cat ?
Спасибо