參考 (Reference) 和指標 (Pointer)
指標 (pointer) 儲存的不是資料,而是指向資料的記憶體位置。Nim 的指標有兩種,一種是會自動回收記憶體的指標 (即 ref),一種是需自行回收記憶體的指標 ( 繼續閱讀
程序 (Procedure)
前言 Nim 的程序 (procedure),在別的語言也稱為函式 (function) 或副程式 (subroutine) 等。程序是最小的可重覆利用的程式碼區塊,也是物件導向等更高階語法的基礎。 繼續閱讀
類別 (Class) 和物件 (Object)
物件導向程式是目前主流的程式設計範式,其思維為在函式上加入狀態,藉由狀態改變而改變程式內的資料。在本文中,我們從 Nim 語言的觀點來看如何撰寫物件 繼續閱讀
組合 (Composition) 和繼承 (Inheritance)
組合和繼承是兩種不同思維的重用程式碼的方式,本文介紹在 Nim 裡面如何使用這兩種模式撰寫程式。 繼承 透過繼承,類別之間可以共用程式碼,兩個類別分別是 繼續閱讀
多型 (Polymorphism)
由於 Nim 既不支援多重繼承 (multiple inheritance) 也不支援介面 (interface),Nim 對於多型的支援相對薄弱。不支援多型的話,很多設計模式 (design patterns) 會難以實作,希望 繼續閱讀
函數式程式設計 (Functional Programming)
Nim 官方文件僅有簡略地提到 Nim 支援函數式程式,但沒有強調相關概念,範例也相對零散。本文整理一些常見的函數式程式,供讀者參考。如果覺得函數式程式較 繼續閱讀
高階函式 (Higher Order Function)
高階函式 (higher-order function) 是指用函式為參數或回傳值的函式,像前面的閉包就是一種高階函式。在本文中,我們介紹一些常見的高階函式的模式。我們不依賴現有的套件, 繼續閱讀
例外 (Exception) 處理
即使程式碼本身正確無誤,我們仍然要面對程式運行時可能發生的錯誤,像是網路無法連線、檔案或資料夾權限不足、檔案格式錯誤、命令列參數錯誤、除以零 繼續閱讀
模組 (Module) 和套件 (Package)
在程式設計中,模組 (module) 和套件 (package) 會隨著情境而有不同的意義。模組原先來自於模組化開發 (modular development),意指將軟體拆成許多子部件 (subp 繼續閱讀
模板 (Template)
模版 (template) 是一種較為高階的語法特性,透過程式碼代換來改寫程式,好處是可以跳脫型別的限制。模版有點類似於 C 的前置處理器 (preprocessor) 繼續閱讀