Я наблюдал другое между интерактивным и не-взаимодействующим сеансом R около traceback()
, который я не понимаю. В приведенном ниже коде это приведет к ошибке, но в интерактивном сеансе R я могу увидеть информацию о трассировке, тогда как если я сохраню код до test.R
и вызову его через Rscript test.R
или R -f test.R
, я не могу более длинный просмотр traceback:
f = function() {
on.exit(traceback())
1 + 'a'
}
f()
В интерактивном сеансе R:
> f = function() {
+ on.exit(traceback())
+ 1 + 'a'
+ }
> f()
Error in 1 + "a" : non-numeric argument to binary operator
1: f()
Неинтерактивное выполнение:
$ Rscript test.R
Error in 1 + "a" : non-numeric argument to binary operator
Calls: f
No traceback available
Execution halted
Я не видел объяснений в ?traceback
, и мне интересно, есть ли способ включить трассировку для неинтерактивных сеансов R. Спасибо!