指標 (pointer) 儲存的不是資料,而是指向資料的記憶體位置。Nim 的指標有兩種,一種是會自動回收記憶體的指標 繼續閱讀
Nim 語言雖然不是市場主流語言,卻有著有趣的理念。本系列文章為 Nim 核心語法的教學。
Nim 的程序 (procedure),在別的語言也稱為函式 (function) 或副程式 (subroutine) 等。程序是最小的可重覆利用的程式碼區塊,也是物件導向等更高階語法的基礎。 繼續閱讀
物件導向程式是目前主流的程式設計範式,其思維為在函式上加入狀態,藉由狀態改變而改變程式內的資料。在本文中,我們從 繼續閱讀
組合和繼承是兩種不同思維的重用程式碼的方式,本文介紹在 Nim 裡面如何使用這兩種模式撰寫程式。 透過繼承,類別之間可以共用程式碼,兩個類別分別是父類別 繼續閱讀
由於 Nim 既不支援多重繼承 (multiple inheritance) 也不支援介面 (interface),Nim 對於多型的支援相對薄弱。不支援多型的話,很多設計模式 繼續閱讀
Nim 官方文件僅有簡略地提到 Nim 支援函數式程式,但沒有強調相關概念,範例也相對零散。本文整理一些常見的函數式程式,供讀者參考。如果覺得函數式程式較難,也可用等效的指令式程式代替;不過,適當地使用函數式程式,可使程式碼更簡短。 繼續閱讀
高階函式 (higher-order function) 是指用函式為參數或回傳值的函式,像前面的閉包就是一種高階函式。在本文中,我們介紹一些常見的高階函式的模式。我們不依賴現有的套件,而會重新實作,讓各位讀者參考。 繼續閱讀
即使程式碼本身正確無誤,我們仍然要面對程式運行時可能發生的錯誤,像是網路無法連線、檔案或資料夾權限不足、檔案格式錯誤、命令列參數錯誤、除以零等運算錯誤等。在實務上,我們不能一廂情願地認定程式不會發生錯誤,而要撰寫相對應的程式碼來處理錯誤。 繼續閱讀
在程式設計中,模組 (module) 和套件 (package) 會隨著情境而有不同的意義。模組原先來自於模組化開發 (modular 繼續閱讀
模版 (template) 是一種較為高階的語法特性,透過程式碼代換來改寫程式,好處是可以跳脫型別的限制。模版有點類似於 繼續閱讀