パーフェクト Ruby 改訂 2 版
パーフェクト ルビー
- 著者:
- Ruby サポーターズ(ルビー サポーターズ)
- 出版社:
- 技術評論社
- 出版日:
- 2017年05月
- ISBN:
- 9784774189772
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
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 件)
Pythonプログラマが30分でわかるR
♡ 65Python, R, 機械学習, 統計1年目にやったおすすめ教材
♡ 32初心者, 教材, 初学者向け, Udemy, 駆け出しエンジニアプログラミング初心者がプログラミング歴0年目にオススメしたい技術書
♡ 27Ruby, PHP, SQL, Web, 初心者mruby/c の仕様みたいなもの
♡ 14mruby_c, mrubycA Tour of Go の sync.Mutexの例をMutex使わないとどうなるか
♡ 10Go, mutex, go-tour【Ruby編】プログラミング初心者オススメの教材、学習法のまとめ(補助教材更新)
♡ 4Ruby, Rails, プログラミング, 初心者工場男子からIT男子にジョブチェンジした話
♡ 3初心者, 転職Ruby,Java持っている、いた、弟が持っている参考書
♡ 1Java, Ruby[初学者]module(モジュール)について調べたこと
♡ 1Ruby, Rails, 初心者, moduleBundlerでインストールしたライブラリを使う小さなメモ
♡ 1Ruby, Bundler
関連記事
Python 本の選び方 - 独学の最初の 1 冊から実務品質まで
Python 本の選び方を「動機」から逆算して整理。プログラミング未経験の最初の 1 冊、業務自動化に直結する本、型ヒントとコード品質で実務水準へ進む本まで、2026 年 8 月時点の定番を独学ルートに沿って解説します。
技術書を読む速度が 2 年目で急に上がる理由
技術書を読み始めて 1 年目は遅い。しかし 2 年目に入ると、新しい本を読むスピードが上がりやすくなります。この加速が起きるメカニズムと、加速を早めるコツを解説します。
本の選び方に正解はない
どの本を選べばいいか迷って決められない。同じテーマの入門書は扱う基礎が大きく重なるため、どれからでも学べます。確認すべき 1 点と、迷いを終わらせる決め方を解説します。