@DavidArenburg - , , . , , Ctrl-Enter RStudio. , :
.
{
print(42)
stop("error")
print(21)
}
- :
.
block <- function(expr) {
expr <- substitute(expr)
for (i in seq(expr)[-1]) {
y <- withVisible(eval(expr[[i]], parent.frame()))
if (y$visible && i != length(expr)) print(y$value)
}
y$value
}
block({
42
stop("error")
21
})
, , .
.
.
microbenchmark::microbenchmark(block = block({
a <- 1:1e6
b <- rnorm(1e6)
sum(a + b)
}), curly = {
a <- 1:1e6
b <- rnorm(1e6)
sum(a + b)
})