Для этого я часто использую writeLines()
в сочетании с strwrap()
и paste()
, чтобы объединить, скажем, значение цикла, если я печатаю информацию о текущей итерации.strwrap()
обрабатывает длинные строки по мере необходимости, а writeLines()
означает, что мне не нужно добавлять "\n"
в конце моих вызовов cat()
.
> writeLines(strwrap("a very very very very long long long long long long long long string, that is too wide for the current pager width"))
a very very very very long long long long long long long long string,
that is too wide for the current pager width
Вотпример использования его для вывода индикатора итерации:
for(i in 1:1000) {
if(isTRUE(all.equal(i %% 100, 0)))
writeLines(strwrap(paste("Iteration", i)))
## do something
}
Дает:
> for(i in 1:1000) {
+ if(isTRUE(all.equal(i %% 100, 0)))
+ writeLines(strwrap(paste("Iteration", i)))
+ ## do something
+ }
Iteration 100
Iteration 200
Iteration 300
Iteration 400
Iteration 500
Iteration 600
Iteration 700
Iteration 800
Iteration 900
Iteration 1000