パーフェクト Ruby 改訂 2 版

パーフェクト ルビー

パーフェクト Ruby 改訂 2 版の表紙
プログラミング
著者:
Ruby サポーターズ(ルビー サポーターズ)
出版社:
技術評論社
出版日:
2017年05月
ISBN:
9784774189772
在庫:
在庫あり
5(1 件 / 楽天ブックス)

なぜ注目されているか

言及数
259位
総合714位 ↑ 3 ランクアップ 言及 11 件
01120222023202420252026

書籍紹介

Rubyist 必読の 1 冊。Ruby2.4 対応! Ruby のセオリーを徹底解説。基本から gem パッケージの作成方法や実践的なアプリケーション開発まで、最新の情報を完全網羅。

技書の森解説

『パーフェクト Ruby 改訂 2 版』は、Ruby 2.4 に対応した Ruby の言語解説書で、文法の基礎から組み込みクラス、メタプログラミング、標準添付ライブラリ、gem パッケージの作り方、テストコードまでを 1 冊にまとめています。著者は Ruby サポーターズ、版元は技術評論社、発売は 2017 年 5 月です。版元の概要によれば、Ruby 1.9 と 2.0 に対応していた前版を Ruby 2.4 に合わせて改訂し、前版に無かったテスト関連の内容などを加えています。版元のプロフィールには、すがわらまさのり、寺田玄太郎、三村益隆、橋立友宏、関口亮一、近藤宇智朗の 6 名が載っています。

5 部 16 章の構成、Ruby の概要から言語仕様とメタプログラミングへ

構成は 5 部 16 章です。Part1 の第 1 章は Ruby の概要で、ドキュメントの歩き方、処理系の入手方法、コーディングスタイル、複数の Ruby 実装、コミュニティとの関わり方を扱います。Part2「Ruby 言語仕様」は第 2 章から第 5 章で、変数と定数、条件分岐、クラス、モジュール、例外といった基礎に続き、演算子と制御構造、メソッドの定義と呼び出し、クラスとモジュールの詳細へ進みます。第 5 章「主な組み込みクラス / モジュール」は Numeric、String、Regexp、Enumerable、IO と File、Thread、Fiber、Struct、Marshal などを個別に解説します。Part3「メタプログラミング」は第 6 章から第 10 章で、特異クラスとメソッド探索、Module#prepend、オープンなクラスと Refinements、method_missing と eval、Proc オブジェクト、Method クラス、リフレクションを順に取り上げます。

標準添付ライブラリから gem 作成とテストへ

Part4「標準添付ライブラリ」は第 11 章と第 12 章です。第 11 章では fiber による手軽な非同期処理、pathname や fileutils によるファイル操作、yaml、json、csv、stringio、set、time と date、net/http、erb、benchmark、logger を扱い、第 12 章では irb、RDoc、Rake、RubyGems を扱います。Part5「実践プログラミング」は、C 言語でのライブラリ作成を含む第 13 章の gem パッケージの作り方、Bundler や YARD、Pry を取り上げる第 14 章の標準外のツール、Todo 管理アプリケーションを作って gem にまとめる第 15 章のコマンドラインアプリケーション開発と続きます。最後の第 16 章はテストコードの章で、テスティングフレームワークと test-unit の使いこなしを扱います。

クラスもオブジェクトという Ruby のモデルを理解する価値

Ruby は数値や文字列だけでなくクラスそのものも Class クラスのオブジェクトとして扱う言語で、オブジェクト指向 の仕組みが実行時にほぼすべて操作できる形で開かれています。メソッドを呼んだときに特異クラス、prepend したモジュール、クラス本体、include したモジュール、親クラスのどの順で探すのかを知っていると、Rails のようなフレームワークがメソッドを動的に足したり差し替えたりしている箇所を読み解けるようになります。既存クラスを書き換えるオープンクラスは強力な反面、影響が全体に及ぶため、その範囲を限定する Refinements との使い分けが設計上の判断になります。ブロックと Proc は定義した場所の変数を抱えたまま持ち運べる クロージャ であり、イテレーターや DSL の書き味はこの性質に支えられています。こうした仕組みを文法の延長として順に追えるのが、言語仕様とメタプログラミングを同じ 1 冊に収めた本書の構成の利点です。

Ruby 2.4 を前提にした内容と、向いている読者

本書のコードと説明は Ruby 2.4 を前提にしています。Ruby 公式の告知では、Ruby 2.4 系列の公式サポートは 2020 年 3 月 31 日に終了しました。そのため 2.4 より後の版で加わった機能や変わった挙動は扱っておらず、ライブラリの細かな仕様は手元の Ruby のリファレンスマニュアルで確かめながら読む前提になります。後の版の新機能を学ぶことが目的なら、別の資料を選ぶほうが合います。

一方で、入門書を 1 冊終えて Ruby のコードは書けるものの、クラスとモジュールの関係やメソッド探索、Proc と Method の違いをあいまいなままにしている人には、本書の Part2 と Part3 がそのまま埋めるべき範囲になります。gem を自作したい人、コマンドラインツールを Ruby で作りたい人、テスト を書く習慣を Ruby の標準的な道具立てで身につけたい人にとっても、Part4 と Part5 が実務の手順まで示してくれます。言語の仕組みを根元から理解して Ruby のコードを読み書きする力を底上げしたい人にとって、手元に置いて繰り返し開く価値のある一冊です。

言及した記事 (11 件)

関連記事

関連用語

共有: