Nimは、静的型付け・コンパイル言語でありながら、インデントブロック形式や動的型付け言語風味の文法を採用した、様々な言語にトランスパイルできる新しいシステムプログラミング言語です。本書はこのNimに関する日本初の解説書です。Nimはシンプルで、柔軟なNimプログラミングを体験できるほか、特にメタプログラミングの柔軟性は特筆すべき点です。抽象構文木を直接操作でき、ドメイン固有言語の開発も容易く、様々なシステムへのNimの導入の可能性が広がります。日本でのユーザー数も着実に増えつつあるNimに触れてみましょう!
【目次】
第1章 Nimをはじめよう
第2章 基本文法
第3章 オブジェクト指向プログラミング
第4章 パッケージ開発
第5章 型
第6章 プラグマ
第7章 メタプログラミング
第8章 数値
第9章 数学
第10章 文字列
第11章 マルチスレッドプログラミング
第12章 ビット操作
第13章 集合
第14章 アルゴリズム
第15章 動的配列処理
第16章 外部関数インターフェイス
付録A コンパイラ
付録B INim
目次プレビュー
- 前書き
- 第1章 Nimをはじめよう
- 第2章 基本文法
-
1.1 本書について
-
1.2 インストール
-
1.3 コンパイラ
-
1.4 Nimble
-
1.5 歴史
-
1.6 開発状況
-
2.1 変数
-
2.2 データ型
-
2.3 制御構文
-
2.4 プロシージャ
-
2.5 イテレータ
-
2.6 モジュール
-
2.7 メタプログラミング
-
3.1 オブジェクトの定義
-
3.2 継承を行う
-
3.3 例外処理をする
-
4.1 パッケージの作成
-
4.2 パッケージの基本構造
-
4.3 依存パッケージをインストールする
-
4.4 実装
-
5.1 型クラス
-
5.2 浮動小数点型クラス
-
5.3 文字列型クラス
-
5.4 構造化型クラス
-
5.5 参照型クラス
-
5.6 ジェネリック型クラス
-
5.7 distinct型
-
5.8 auto型
-
5.9 型情報を得る
-
5.10 実行時型情報
-
6.1 プラグマを定義する
-
6.2 コンパイル時メッセージ
-
6.3 noSideEffect
-
6.4 compileTime
-
6.5 プログラムをストップさせる
-
6.6 構造体へのプラグマ
-
6.7 シャローコピー
-
6.8 列挙型の識別子強制
-
6.9 最適化
-
6.10 asmNoStackFrame
-
6.11 グローバル
-
6.12 警告抑制
-
6.13 実装固有のプラグマ
-
8.1 数値リテラル
-
8.2 整数と浮動小数点数
-
8.3 算術演算
-
8.4 整数と浮動小数点数間の演算
-
8.5 乱数
-
8.6 Mersenne Twister
-
8.7 加算アルゴリズム
-
9.1 有理数
-
9.2 複素数を扱う
-
9.3 統計分析
-
10.1 stringとcharとUnicode
-
10.2 cstring
-
10.3 文字列操作
-
10.4 パース
-
10.5 文字列の編集距離
-
10.6 文字列フォーマット
-
10.7 エンコード
-
10.8 ロープ
-
10.9 punycode
-
11.1 threads
-
11.2 channels
-
12.1 基本的なビット演算
-
12.2 bitops
-
13.1 HashSetを使う
-
13.2 OrderedSetを使う
-
13.3 SomeSetを使う
-
14.1 順列生成
-
14.2 逆順
-
14.3 ソート
-
14.4 探索
-
14.5 配列を埋める
-
14.6 分配法則
-
14.7 回転
-
16.1 importc
-
16.2 C
-
16.3 プログラムを書く
-
16.4 C++
-
16.5 JavaScript
-
B.1 インストール
-
B.2 使ってみる
-
B.3 オプション