天天看點

R語言調試

請小心上述代碼中的漏洞(bug),我隻證明了代碼是正确的,而沒有嘗試過。——donald knuth,計算機科學先驅

程式員經常會發現他們在調試程式上花費的時間比編寫程式本身花的時間還要長,是以好的調試技巧是無價的。

這裡介紹r語言基本調試方法。r語言調試工具由浏覽器(browser)構成,它可以使我們的程式逐行運作,可以調用debug()或者browser()函數打開浏覽器。

進入調試浏覽器時,指令提示符從“>”變為“browse[d]>”(“d”表示函數調用鍊深度)

n(next):執行下一行,然後暫停,直接鍵入“enter”一樣;

c(continue):如果在循環中,會執行本次循環剩下所有語句,然後進入下一次循環,到該位置繼續暫停;

鍵入變量名:檢視變量值,若與浏覽器變量同名,需用print()列印出來看,下面有例子,旁邊變量區也可以看;

where:顯示到達目前位置過程中函數的調用序列;

q:該指令會退出浏覽器,傳回正常互動模式。

debug(f)函數可以在函數f()入口處進入浏覽器而處于調試狀态。

比如這個例子:

與debug(f)函數在函數f()入口處進入浏覽器而處于調試狀态不同,browser()可以插在函數中任一行,程式隻要運作到該行,就進入調試狀态即浏覽器會被打開,直到程式結束。

        假如我們想觀察這個累加運算過程變量i、s的變化,可以把browser()加到循環中,每循環一次,暫停一次,便于觀察。第一次調試第十次調試結束

覺得不錯,記得點贊哦,也可以分享、讓更多的人看到,點選【閱讀原文】有驚喜!

這裡有一群關注r語言的資料愛好者,就差你了!