アルゴリズムから始める F# 入門
F# を使ってアルゴリズムとデータ構造を TDD で学ぶシリーズです。
章構成
第 1 部: 基本
第 2 部: データ構造
第 3 部: ソートと文字列
第 4 部: 高度なデータ構造
実装コード
実装コードは apps/fsharp/ にあります。
テスト実行
nix develop .#dotnet
cd apps/fsharp
dotnet test
F# の特徴
F# は .NET プラットフォーム上で動く関数型ファーストの言語です。
| 特徴 |
説明 |
| 不変性デフォルト |
変数はデフォルトで不変。変更には mutable が必要 |
| パターンマッチ |
match ... with で複数条件を簡潔に表現 |
| パイプライン演算子 |
\|> で処理の流れを左から右に記述 |
| 型推論 |
型注釈なしでもコンパイラが型を推論 |
| 判別共用体 |
type Shape = Circle of float \| Rect of float * float |
| オプション型 |
option<T> で NULL 安全な実装 |
参考文献
- 『新・明解 アルゴリズムとデータ構造』 — 柴田望洋
- 『テスト駆動開発』 — Kent Beck
- F# ドキュメント