関連サイト
本書の関連ページが用意されています。
内容紹介
本書は、Web開発のプロが書き下ろしたの国内初のElixirプログラミングの解説書です。新しい言語に挑戦しようとする現役のプログラマだけでなく、プログラミング自体の初心者にも門戸を開くべく、「変数」や「整数」のような基本的な概念についてもできるかぎり丁寧に説明しています。また、具体的なソースコードとその実行結果を数多く掲載しています。特に誤ったソースコードの例とそれを実行したときに出力される警告とエラーメッセージについて詳しく解説されており、初心者が戸惑い、学習意欲を損なわないようなに配慮されています。本書で扱ったサンプルコードは、Webサイトからダウンロード可能です。実行環境としてはDockerコンテナを利用し、Elixir 1.11に対応しています。また、著者のサポートサイトでは、本書の内容に関する質問も受け付けています。 本書はの主要なテーマは、モジュール、関数、データ型、パターンマッチングなどです。より複雑なテーマである構造体、ポリモーフィズム、ビヘイビア、メタプログラミング、並行プログラミングなどは、続編となる「Elixir実践ガイド アドバンスト編」で扱います。
書誌情報
- 著者: 黒田 努
- 発行日: 2021-02-05 (紙書籍版発行日: 2021-02-05)
- 最終更新日: 2021-02-05
- バージョン: 1.0.0
- ページ数: 496ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
オブジェクト指向言語(Java、Python、Rubyなど)の基礎をすでに学び、Web開発に携わる人、関数型言語に興味を持っている人
著者について
黒田 努
東京大学教養学部卒、同大学院総合文化研究科博士課程満期退学。ギリシャ近現代史専攻。専門調査員として、在ギリシャ日本国大使館に3年間勤務。中学生の頃に出会ったコンピュータの誘惑に負け、IT業界に転身。株式会社ザッパラス技術部長、株式会社イオレ取締役副社長を経て、技術コンサルティングとIT教育を事業の主軸とする株式会社オイアクスを設立。また、2011年末にRuby on Railsによるウェブサービス開発事業の株式会社ルビキタスを知人と共同で設立し、同社代表に就任。2019年、株式会社オイアクスの社名を株式会社コアジェニックに変更し、関数型言語Elixirを使った新規WebサービスTeamgenik(チームジェニック)の事業を開始。
目次
はじめに
- 本書の表記
- 本書のサポートページ
- 本書で使用したオペレーティングシステム/ソフトウェア
第1章 イントロダクション
- 1-1 Elixir とは
- 1-2 Elixir と Erlang の関係
第2章 Elixir 開発環境の構築
- 2-1 Elixir コンテナを作成する
- 2-2 Elixir コンテナの利用法
第3章 Elixir の基礎 (1)
- 3-1 Elixir プログラムが動く仕組み
- 3-2 基本的な概念
- 3-3 練習問題
第4章 Elixir の基礎 (2)
- 4-1 データ型
- 4-2 数値
- 4-3 アトム
- 4-4 文字列
- 4-5 リスト、文字リスト、タプル、キーワードリスト、マップ
- 4-6 関数
- 4-7 型の判別
- 4-8 練習問題
第5章 Elixir の基礎 (3)
- 5-1 変数とパターンマッチング
- 5-2 関数、モジュール、マクロ
- 5-3 練習問題
第6章 Elixir の基礎 (4)
- 6-1 演算子
- 6-2 ファイルシステムと入出力
- 6-3 if マクロ、for マクロ、Range 構造体
- 6-4 練習問題
第7章 モジュール
- 7-1 モジュールの定義
- 7-2 モジュールの別名
- 7-3 モジュール属性
- 7-4 練習問題
第8章 関数 (1)
- 8-1 無名関数
- 8-2 名前付き関数
- 8-3 関数とキーワードリスト
- 8-4 練習問題
第9章 関数 (2)
- 9-1 関数呼び出しの分類と関数の可視性
- 9-2 キャプチャ演算子
- 9-3 import ディレクティブ
- 9-4 練習問題
第10章 マクロの初歩と条件分岐
- 10-1 マクロの初歩
- 10-2 if マクロ
- 10-3 cond マクロ
- 10-4 練習問題
第11章 アトム
- 11-1 アトムとは
- 11-2 アトムを扱う関数
- 11-3 アトムの役割
- 11-4 練習問題
第12章 リスト
- 12-1 リストを作る
- 12-2 リストを利用する
- 12-3 リストを別のリストに変換する
- 12-4 リストのデータ構造
- 12-5 ヘッド、テール、コンス演算子
- 12-6 練習問題
第13章 タプルとキーワードリスト
- 13-1 タプル
- 13-2 キーワードリスト
- 13-3 練習問題
第14章 マップ
- 14-1 マップの基礎知識
- 14-2 マップを利用する
- 14-3 マップに対する基本操作
- 14-4 マップのデータ構造
- 14-5 練習問題
第15章 ビットストリング、バイナリ、文字列、文字リスト
- 15-1 ビットストリング
- 15-2 バイナリ
- 15-3 文字列(1)
- 15-4 文字列(2)
- 15-5 文字列を扱う関数
- 15-6 バイナリのデータ構造
- 15-7 文字リスト
- 15-8 演習問題
第16章 パターンマッチング
- 16-1 パターンマッチングとは
- 16-2 リストに対するパターンマッチング
- 16-3 タプルに対するパターンマッチング
- 16-4 マップに対するパターンマッチング
- 16-5 バイナリ・文字列に対するパターンマッチング
- 16-6 ビットストリングに対するパターンマッチング
- 16-7 ピン演算子
- 16-8 関数の引数に対するパターンマッチング
- 16-9 練習問題
第17章 Enum モジュール
- 17-1 Enumerable
- 17-2 Enumerable を同じ要素数のリストに変換する関数
- 17-3 Enumerable の全部または一部をリストに変換して返す関数
- 17-4 Enumerable に属する 1 個の要素を返す関数
- 17-5 真偽値を返す関数
- 17-6 その他の関数
- 17-7 練習問題
第18章 for マクロ
- 18-1 for マクロの基本
- 18-2 ジェネレータとフィルタを使いこなす
- 18-3 :into オプション
- 18-4 ビットストリングジェネレータ
- 18-5 練習問題
第19章 case マクロと with マクロ
- 19-1 case マクロの基本的な使い方
- 19-2 case マクロの利用例
- 19-3 with マクロ
- 19-4 練習問題
第20章 複数の節を持つ関数
- 20-1 複数の節を持つ無名関数を作る
- 20-2 複数の節を持つ名前付き関数
- 20-3 名前付き関数の節に対するガード
- 20-4 練習問題
第21章 reduce 関数
- 21-1 アキュムレータ
- 21-2 reduce 関数の利用例
- 21-3 練習問題
第22章 エラー処理
- 22-1 例外
- 22-2 スロー
- 22-3 練習問題
第23章 ExUnit
- 23-1 ExUnit 入門
- 23-2 テストの書き方
- 23-3 練習問題
第24章 Mix
- 24-1 Mix プロジェクト
- 24-2 最初の実装
- 24-3 機能拡張
- 24-4 練習問題
第25章 エージェントとGenServer
- 25-1 エージェント
- 25-2 GenServer
- 25-3 練習問題
第26章 三目並べ(1)
- 26-1 開発演習で作るアプリケーションの仕様
- 26-2 アプリケーションの骨格の作成
- 26-3 ゲームの状態を管理するエージェント
- 26-4 コンソール
- 26-5 play タスクの定義
第27章 三目並べ (2)
- 27-1 ゲームの状態を表示する
- 27-2 手番の管理
- 27-3 格子の更新
- 27-4 画面のリフレッシュ
第28章 三目並べ (3)
- 28-1 結果判定
- 28-2 コンピュータに手を選ばせる