iT邦幫忙

2022 iThome 鐵人賽

DAY 14
0
自我挑戰組

程式小萌新的學習筆記系列 第 14

拾肆。如果寫程式就像講話一樣? - REPL 開發模式

  • 分享至 

  • xImage
  •  

其實自己學程式到現在,好像很少聽其他人公開分享過這種開發模式,但自己從聽到這個詞到現在,一直都認為這是一種非常值得大力推廣的開發模式。它其實不是什麼很深奧的程式技術,但偏偏在學習程式的時候都沒聽其他人講過這個東西,所以也想趁著這一篇的機會安麗一下 REPL。以下且聽筆者娓娓道來

程式初心者最大的開發困擾 - 這段程式到底給不給過?

一開始學程式對語法或是套件函式還不熟悉時,會花蠻多時間在嘗試不同的語法來測試效果如何,或是反覆性地執行一個程式段落,然後不斷地調整。
所以如果有一個地方可以讓你不斷嘗試,就算程式失敗也可以不斷調整到成功。

那什麼是 REPL 呢?

如果是學過 javascript 的人,應該對 Devtool 裡面的主控台 (console) 不陌生,主控台其實就是一個典型的 REPL 開發環境,它以行為單位執行,打一行就執行一行。同時你可以隨時確認程式內的變數狀態。
以往在一般程式中,可能會需要使用 print() 或 console.log() 才能曉得變數現在的內容。但是在主控台中,你只要打 x enter,就能立刻知道 x 變數的內容。
這種可以及時獲得反饋的開發模式,非常非常適合程式初學者。就算是精熟程式的老手,也能夠在學習其他新語言時,透過 REPL 的模式快速學習新語言的語法。

等等你還沒說 REPL 是什麼意思啊?

REPL 其實就是 read-eval-print-loop,讀取、求值、輸出的循環。也有人把 REPL 翻譯成互動式編程、對話式編程。附帶一提,筆者也曾經在另一本遊戲開發的書看見類似的循環,所以其實這種模式很普遍,但可能是因為 REPL 這個詞太生冷了,以致認識這詞的人不多。

不同語言的 REPL 環境

其實不用特別找,Replit 這個網站幾乎所有想得到的語言都提供支援了
另外程式語言開發有提供 REPL 的部分也提供一下

  • python: 官方提供的安裝套件安裝完就有了。直接執行 python 指令或是執行 python IDLE 都可以。官方說明文件
  • laravel thinker: 一樣也是官方提供的套件。執行 php artisan tinker 就可以叫出來囉。官方說明參考

結語

REPL 對我來說真的是一個蠻棒的開發模式,也希望大家未來 coding 能夠越來越輕鬆

謝謝大家的縮看,我們明天見


上一篇
拾參。利用 BLOB 實現前端的圖片預覽功能
下一篇
拾伍。小專案 - 湯姆瑞斗的日記
系列文
程式小萌新的學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言