書籍概要

実践Scala入門

著者
発売日
更新日

概要

Scalaの言語仕様,そしてエコシステムを解説するScala入門書の決定版!
基本的な構文からはじまり,Scalaに特徴的なOption,Eitherといった型によるnull安全なプログラミング,for式などの強力な機能を伴うコレクション操作,Futureを使った並行プログラミングなどの各種言語機能を学べるほか,Scalaでは事実上の標準となっているビルドシステムsbtの使い方やテストといった現場での開発に必須の知識も身につく,Scalaプログラマ必携の一冊です。

こんな方におすすめ

  • Scalaに興味を持っているITエンジニア
  • 業務でScalaを使う必要のあるITエンジニア

目次

第1章 Scalaひとめぐり

  • Scalaの誕生とこれまで
  • なぜScalaか?
  • ScalaはJVM上で動作する言語
  • 著名なユーザ企業
  • 開発環境
  • はじめてのScalaプログラミング
  • Scaladocの読み方
  • ビルドツールの利用

第2章 Scalaの基礎

  • 基本的な型
  • クラスを定義する
  • トレイトを定義する
  • Scalaにおけるstatic
  • 特別なメソッド名
  • ケースクラス ―― メソッドを自動生成する
  • 制御構文
  • 修飾子
  • ジェネリクスと型パラメータ
  • 名前空間とモジュール分割
  • 無名クラス
  • 暗黙の型変換
  • 暗黙クラス ―― 既存のクラスにメソッドを付け足す
  • 暗黙のパラメータ

第3章 Option/Either/Tryによるエラー処理

  • Option ―― 「値がないかもしれない」を表す
  • Either ―― 失敗した理由を示す
  • Try ―― Option/Eitherと同じ感覚で例外を扱う

第4章 コレクション

  • コレクションのデータ型
  • コレクションを操作するAPI
  • コレクションの実装ごとの性能特性
  • Java標準クラスとScala標準クラスの変換
  • for式によるコレクション操作

第5章 並行プログラミング

  • 並行プログラミングのメリットとデメリット
  • Futureの基本的な使い方
  • Futureを扱うためのAPI

第6章 Scalaプロジェクトのビルド

  • sbtの役割
  • はじめてのsbt
  • build.sbtの書き方
  • sbtシェルのコマンド
  • ビルドのスコープ
  • sbtプラグイン
  • sbtのトラブルシューティング

第7章 ユニットテスト

  • テストの重要性
  • Scalaにおけるユニットテスト
  • Scalaで使えるテストフレームワーク
  • ScalaTestを使ったはじめてのテスト
  • ScalaTestを使いこなす
  • Mockitoを使ったモックテスト
  • ScalaCheckを使ったプロパティベーステスト

第8章 知っておきたい応用的な構文

  • コンパニオンオブジェクト ―― 同名のクラスへの特権的なアクセス権を持つオブジェクト
  • 部分関数 ―― 呼び出し前の引数チェック
  • デフォルト引数 ―― 引数を省略したときの既定値を指定する
  • 名前付き引数 ―― メソッドの引数に名前をつけて呼び出せるようにする
  • 値クラス ―― オブジェクト生成のオーバーヘッドを避ける
  • 型メンバ ―― クラスやトレイト内だけで有効な型の別名を付ける
  • 自分型アノテーション ―― トレイトやクラスに継承でない依存関係をもたせる
  • メソッド引数におけるブロック式 ―― メソッド呼び出しをより簡潔に記述する
  • 複数の引数リストを持つメソッド ―― 部分適用を容易にする
  • η-expansion ―― メソッドを関数に変換する
  • 名前渡し引数 ―― 引数の評価タイミングを制御する
  • 抽出子 ―― 独自のパターンを定義する
  • implicitの探索範囲
  • 特殊なメソッド

第9章 よりよいコーディングを目指して

  • 可能な限り不変にする
  • 式指向なスタイルで書く
  • そのほかのTips

サポート

現在サポート情報はありません。

商品一覧