其實自己學程式到現在,好像很少聽其他人公開分享過這種開發模式,但自己從聽到這個詞到現在,一直都認為這是一種非常值得大力推廣的開發模式。它其實不是什麼很深奧的程式技術,但偏偏在學習程式的時候都沒聽其他人講過這個東西,所以也想趁著這一篇的機會安麗一下 REPL。以下且聽筆者娓娓道來
一開始學程式對語法或是套件函式還不熟悉時,會花蠻多時間在嘗試不同的語法來測試效果如何,或是反覆性地執行一個程式段落,然後不斷地調整。
所以如果有一個地方可以讓你不斷嘗試,就算程式失敗也可以不斷調整到成功。
如果是學過 javascript 的人,應該對 Devtool 裡面的主控台 (console) 不陌生,主控台其實就是一個典型的 REPL 開發環境,它以行為單位執行,打一行就執行一行。同時你可以隨時確認程式內的變數狀態。
以往在一般程式中,可能會需要使用 print() 或 console.log() 才能曉得變數現在的內容。但是在主控台中,你只要打 x enter,就能立刻知道 x 變數的內容。
這種可以及時獲得反饋的開發模式,非常非常適合程式初學者。就算是精熟程式的老手,也能夠在學習其他新語言時,透過 REPL 的模式快速學習新語言的語法。
REPL 其實就是 read-eval-print-loop,讀取、求值、輸出的循環。也有人把 REPL 翻譯成互動式編程、對話式編程。附帶一提,筆者也曾經在另一本遊戲開發的書看見類似的循環,所以其實這種模式很普遍,但可能是因為 REPL 這個詞太生冷了,以致認識這詞的人不多。
其實不用特別找,Replit 這個網站幾乎所有想得到的語言都提供支援了
另外程式語言開發有提供 REPL 的部分也提供一下
php artisan tinker
就可以叫出來囉。官方說明參考
REPL 對我來說真的是一個蠻棒的開發模式,也希望大家未來 coding 能夠越來越輕鬆
謝謝大家的縮看,我們明天見