Author Image

Michael Chen 的技術文件

程式設計、開放原始碼軟體、技術雜談

Cover image

Groovy 的物件系統基本上和 Java 的物件系統大同小異,相異的地方在於 Groovy 加上一些語法糖,使得語法變得更簡潔。 繼續閱讀

Cover image

C 語言沒有錯誤處理相關的語法或物件,但這不代表我們在 C 語言可以忽略這個議題。 繼續閱讀

Cover image

在本文中,我們會實作佇列,但內部實作不是用這類教材常見的串列,而是使用陣列。 繼續閱讀

Cover image

在 Groovy 中,最接近函式的東西是閉包 (closure);基本上,可以把 Groovy 的閉包當成類似其他語言的匿名函式 (anonymous function) 來看待。Groovy 中大量使用閉包,像是看起來很像 Ruby 語法的迭代器、串列操作、映射操作等基本上內部皆以閉包來運作。 繼續閱讀

Cover image

C 語言不是函數式語言,但仍有少數函數式程式的特性。本文中介紹一些在 C 語言中可見的函數式程式特性,這些寫法不是主流的手法,故僅供參考。 繼續閱讀

Cover image

在 Java 中,函式 (function) 一定要包在類別中,所以才會出現靜態函式這種和物件無關但又存在於類別中的函式。在 Groovy 中,這個限制放寛了,我們可以在 Groovy 中直接撰寫頂層函式,Groovy 會幫我們自動轉為對應的 Java 函式,不需要人為介入。 繼續閱讀

Cover image

Paiza 是一個雲端開發環境 (cloud development environment),這類開發環境只要透過主流瀏覽器就可以操作,不需在本地端額外安裝其他的軟體。Paiza 的產品線有兩條,paiza.io 是雲端編輯器,paiza.cloud 則是雲端 IDE,本文會分別介紹這兩項產品。 繼續閱讀

Cover image

佇列 (queue) 是另一種受限制的線性資料結構。其操作方式為從尾端推入,從頭端推出,是一種 FIFO (First-In, First-Out) 的資料結構。本文使用 C 語言,以串列實作佇列。 繼續閱讀

Cover image

其實泛型程式是一種模板 (template) 的概念。對於 C、Go (golang) 等不支援泛型的程式語言來說,也可以用外部模板來模擬泛型。本文以一個 C 語言的實例來說明如何以外部模板模擬泛型程式。 繼續閱讀