『Rubyコードレシピ集』はどういう本か

共著で書いた『Rubyコードレシピ集』が2024-08-26に出るので、どういう本か説明します。

レシピ集とは

この本は技術評論社さんが出しているレシピ集シリーズの一つです。レシピ集シリーズは、いわゆるクックブックの形式でプログラミング言語やその他ソフトウェアの活用方法を実例を示しながら解説していく体裁のものです。今回は、そのレシピ集シリーズの新作として、Rubyにフォーカスした本を出版することになりました。

対象読者

この本は次のような読者に読まれることを想定して書きました(もちろん、この条件に当てはまらない方にも読んでいただきたいです)。

  • Rubyの入門は簡単に済ませている初心者
  • 他言語の経験者で新しくRubyに来た人

この本はクックブック形式ですが、章立ては基礎から応用の順にしてあります。入門者の人は、やりたいことを表すレシピ名と、やりたいことを実現するサンプルコードに基づいて、Rubyの言語機能や標準添付ライブラリ(組み込み、default/bundled gemsの一部)の適切な使い方を学ぶことができます。最終章では、実例をベースにRackを用いた簡単なWebアプリの作成方法までを把握できるようになっています。

また、他言語から来た人にとっては、慣れている言語でのあの書き方はRubyでどうやるのかという観点で読み進めたり、必要な箇所を参照することで、Rubyの使い方を手っ取り早く学べます。

書いていること、書いていないこと

書籍の公式ページの目次からわかるように、レシピ集シリーズの書籍の構成に沿ってRubyの言語機能や標準的なライブラリに関する話題をひととおりカバーしています。

Rubyは近年も継続的にコーディングを便利にする機能が入っています。Ruby 3以降の例の一部を順不同で紹介すると、HashのShorthand Syntax、thenによるパイプライン、Data、正式な機能になったパターンマッチなどです。本書ではこれらの実例も紹介しているので、ひさびさにRubyについて調べるという人にも新鮮な情報を提供できると思います。

他にも、著者陣はRubyがスクリプティングに便利な言語だと常々感じているので、その観点で使えるユースケースもレシピとして掲載しました。システムのコマンドとstdin/stdout/stderrを扱えるopen3、スクリプト単体で外部ライブラリをインストールし実行できるbundler/inline、DATA/__END__でテキストデータをスクリプト内に埋め込んで扱う方法など、スクリプティングや作業自動化を便利にする機能を複数取り上げています。

一方で、あえて書いてない話題もあります。わかりやすいのはRailsで、「Railsで〜したい」というレシピは掲載していません。この理由としては、「対象読者」で書いたとおり本書は「Rubyの言語機能や標準ライブラリをまず適切に使えるようになるのを助ける」本としたためです。また、Rails自体が扱う対象として大きいことや、Rails自体の学習リソースは(技評さんから刊行されているものも含め)すでに充実しているので、そちらを読んでいただいたほうがいいだろうという理由もあります。

とはいえ、Webアプリの開発にも通じる、より基礎的な話題は掲載しています。たとえば、オブジェクト経由でのDB操作の一例としてActive Record単体で使うレシピを紹介したり、基礎的なWebアプリケーションの機能を実現するために素のRackで作るWebアプリのレシピを紹介したりと、Railsなどのフレームワークの基礎的な部分がどうなっているかというとっかかりをつかめるようにしています。

おわりに

『Rubyコードレシピ集』がどういった本なのかについて著者の一人として説明してみました。紙版の書籍は2024-08-26発売です。ぜひご一読いただければ幸いです。