會從零手刻一組 Kotlin Collection API,從 filter、map、fold 一路到 groupBy、flatMap 和 Sequence,手刻一次不是為了取代標準函式庫,而是把藏在 chain call 裡的所有概念拆開來看
以前寫 C# 時,曾經上過 91 的 C# 進階設計課程。那時候印象很深刻的,是用重構和測試把 LINQ 相關的 API,例如 Where、Select 等這...
這篇文章會釐清 function type、FunctionN 執行期介面與 invokedynamic 產生策略的差異,再理解閉包捕獲變數的機制,最後會實作...
這篇文章會說明 Extension Function 和泛型的運作方式,然後用這兩個工具 TDD 實作 myFilter Kotlin ↔ C# 對照表...
這篇文章會說明 inline 如何在編譯期展開高階函式與 Lambda,避開間接呼叫和可能的物件成本,把 myFilter 補成 inline 版本,並整理它...
這篇文章會用 TDD 手刻 myFilterNot 和 myFilterIndexed,把 filter 系列的三個基本變體湊齊。順便從記憶體角度看看鏈式 f...
這篇文章會用 TDD 手刻六組函式:myFirst / myFirstOrNull、myLast / myLastOrNull、mySingle / mySi...
這篇文章會用 TDD 手刻 myAny、myAll、myNone、myCount,搞懂短路邏輯(short-circuit)和空集合的行為 Kotlin ↔...
這篇文章會用 TDD 手刻 myFind、myFindLast、myIndexOfFirst、myIndexOfLast,再加上不帶 predicate 的...
這篇文章會用 TDD 手刻 myContains、myElementAt、myElementAtOrNull、myElementAtOrElse,收束篩選與尋...
這篇文章會用 TDD 手刻 myMap、myMapNotNull、myMapIndexed,正式進入轉換篇。Lambda 的簽名從 (T) -> Boo...