位元詩人 [Nim] 程式設計教學

Nim 語言雖然不是市場主流語言,卻有著有趣的理念。本系列文章為 Nim 核心語法的教學。

[Nim] 程式設計教學:參考 (Reference) 和指標 (Pointer)

指標 (pointer) 儲存的不是資料,而是指向資料的記憶體位置。Nim 的指標有兩種,一種是會自動回收記憶體的指標 繼續閱讀

[Nim] 程式設計教學:程序 (Procedure) 或函式 (Function)

Nim 的程序 (procedure),在別的語言也稱為函式 (function) 或副程式 (subroutine) 等。程序是最小的可重覆利用的程式碼區塊,也是物件導向等更高階語法的基礎。 繼續閱讀

[Nim] 語言程式教學:類別 (Class) 和物件 (Object)

物件導向程式是目前主流的程式設計範式,其思維為在函式上加入狀態,藉由狀態改變而改變程式內的資料。在本文中,我們從 繼續閱讀

[Nim] 語言程式教學:組合 (Composition) 和繼承 (Inheritance)

組合和繼承是兩種不同思維的重用程式碼的方式,本文介紹在 Nim 裡面如何使用這兩種模式撰寫程式。 透過繼承,類別之間可以共用程式碼,兩個類別分別是父類別 繼續閱讀

[Nim] 語言程式教學:多型 (Polymorphism)

由於 Nim 既不支援多重繼承 (multiple inheritance) 也不支援介面 (interface),Nim 對於多型的支援相對薄弱。不支援多型的話,很多設計模式 繼續閱讀

[Nim] 程式設計教學:函數式程式設計 (Functional Programming)

Nim 官方文件僅有簡略地提到 Nim 支援函數式程式,但沒有強調相關概念,範例也相對零散。本文整理一些常見的函數式程式,供讀者參考。如果覺得函數式程式較難,也可用等效的指令式程式代替;不過,適當地使用函數式程式,可使程式碼更簡短。 繼續閱讀

[Nim] 程式設計教學:高階函式 (Higher Order Function)

高階函式 (higher-order function) 是指用函式為參數或回傳值的函式,像前面的閉包就是一種高階函式。在本文中,我們介紹一些常見的高階函式的模式。我們不依賴現有的套件,而會重新實作,讓各位讀者參考。 繼續閱讀

[Nim] 語言程式教學:例外 (Exception) 處理

即使程式碼本身正確無誤,我們仍然要面對程式運行時可能發生的錯誤,像是網路無法連線、檔案或資料夾權限不足、檔案格式錯誤、命令列參數錯誤、除以零等運算錯誤等。在實務上,我們不能一廂情願地認定程式不會發生錯誤,而要撰寫相對應的程式碼來處理錯誤。 繼續閱讀

[Nim] 語言程式教學:模組 (Module) 和套件 (Package)

在程式設計中,模組 (module) 和套件 (package) 會隨著情境而有不同的意義。模組原先來自於模組化開發 (modular 繼續閱讀

[Nim] 語言程式教學:模板 (Template)

模版 (template) 是一種較為高階的語法特性,透過程式碼代換來改寫程式,好處是可以跳脫型別的限制。模版有點類似於 繼續閱讀