Ruby②(宇野 るいも arton)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Ruby②

Ruby②



形式:
書籍
発売日:
ISBN:
9784798118000
定価:
2,068(本体1,880円+税10%)
仕様:
B5変・272ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発

プログラミングの楽しさを満喫しよう!

本書は、初めてプログラミングを体験するという方に向けた入門書です。Rubyというプログラミング言語を使い、ごくごく初歩的なことからゆっくりプログラミングを学んでいきます。
第2巻ではRubyのライブラリを使って、プログラムで扱うさまざまなデータとその処理の手順(アルゴリズム)の基礎知識を身につけます。ひとりでプログラムを作成するときに欠かせない、Rubyのリファレンスマニュアルの引き方も覚えます。
また、データのソート(並べ替え)とサーチ(検索)を題材に、プログラミングで大切な処理効率の基本的な考え方も学びます。
学習したことは、小問題や章末の練習問題で確認できます。作成したRubyプログラムを実行する環境も、付属CD-ROMを使って簡単に用意できます。
本書の学習では、プログラミングの“作る楽しさ”を感じながら、プログラミングの力を伸ばすことができるでしょう。

●付属CD-ROMのご案内

本書の付属CD-ROMには、実習に使用するRubyプログラムの実行環境を構築するためのインストーラパッケージや、本文で作成したサンプルプログラムなどが収録されています。

・-RubyInstallerについて
Ruby-1.9インストーラパッケージ「Ruby-1.9.1.msi」が収録されています。対応OSは、Windows XP以降(Vistaを含む)です。
・-サンプルプログラムについて
本書で作成するサンプルプログラムを章ごとに収録しています。小問題や練習問題で作成するプログラムは収録していません。

第1章 データファイルの操作とリファレンスの引き方

1-1 クラスが持つメソッドの調べ方
組み込みクラスと添付ライブラリ
Rubyリファレンスマニュアル
リファレンスで使われている表記
メソッド名が分からない場合の検索方法
一覧表示に出ないメソッドの引き方
メソッドの別名を推測する
1-2 データファイルの活用
「いつどこで誰が誰と何をした」ゲーム
さまざまなデータ形式
メソッドチェイン
2次元配列
1-3 画像ファイルの操作
ビットマップファイルの形式
パスカルの三角形とギャスケットの関係
ブロックを使った配列の初期化
バイナリデータの書き出し
ブロックで配列を初期化した理由
まとめ
練習問題

第2章 日付/時刻とライブラリの利用

2-1 日付と時刻
Timeクラスの利用
日付/時刻を自由な書式で表示する
ファイルの日付/時刻情報を取り出し
dateライブラリの利用
2-2 ライブラリの動作と作成
特殊変数
Array#eachメソッド
ライブラリのロード
ライブラリの作成
まとめ
練習問題

第3章 ネットワークライブラリと例外処理

3-1 高水準ライブラリの利用
高水準なライブラリとは
RSSを見てみよう
RSSの操作
3-2 例外
エラーの原因は多岐にわたる
例外とbegin式
ensure節の働きとbegin式の動作
例外の使いこなし
プログラムから例外を送る
まとめ
練習問題

第4章 永続化と圧縮

4-1 永続化
オブジェクトの永続化
オブジェクトの復元と永続化の制限
複雑なオブジェクトの永続化
復元したオブジェクトの表示方法
4-2 圧縮
圧縮とは
zlibライブラリによる圧縮
まとめ
練習問題

第5章 ハッシュと暗号

5-1 ハッシュの原理と応用
ハッシュとファイル転送
ハッシュ値を求めるプログラム
Hashクラスの仕組み
シンボル(Symbolクラス)
5-2 暗号
暗号のポイント
シーザー暗号
現代の暗号
まとめ
練習問題

第6章 状態遷移と正規表現

6-1 状態遷移
占いプログラム
問題の抽象化
状態遷移図と状態遷移表
状態遷移を使用したプログラミング
6-2 正規表現
正規表現とは
正規表現リテラル
基本的な正規表現
複雑な正規表現
まとめ
練習問題

第7章 アルゴリズムと計算量

7-1 アルゴリズムとは
アルゴリズムを考える理由
最適なアルゴリズムを選ぶ基準
7-2 選択ソートとバブルソート
ソートとは
バブルソート
計算量を考える
プログラムの実行時間の測定方法
7-3 クイックソート
クイックソートの手順
擬似コード
クイックソートのプログラム
クイックソートの計算量
7-4 サーチ
順次探索
2分探索
2分探索のプログラム
2分探索によるデータ挿入位置の発見
2分探索でデータ挿入位置を求めるプログラム
2分探索の計算量
まとめ
練習問題

小問題ならびに練習問題の解答

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2012年05月29日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 075
上から4行目
※Ruby 1.9.2 以降をご使用の方のみ該当 ※本書付属CD-ROMで Ruby 1.9.1 をインストールした方は該当しません  これらに加えて、現在のディレクトリもライブラリのロード対象となります(I)。  Rubyは、ロードするライブラリを$:の要素順に行います。したがって、優先順位は①site_ruby→②vendor_ruby→③添付ライブラリ→④現在のディレクトリとなります。  現在のディレクトリはロードの優先順位が最低なので、添付ライブラリなどと同じファイル名を付けると無視されます(注➋-8)。そのため、添付ライブラリと重複するファイル名は付けないように考慮しなければなりません。
 Rubyは、ロードするライブラリを$:の要素順に行います。したがって、優先順位は①site_ruby→②vendor_ruby→③添付ライブラリとなります。

修正理由は、この正誤表p.077の修正にあります「補足 ● Ruby-1.9.2 以降の require の仕様変更について」をご覧ください。
2012.05.29
1刷 077
リスト2-8の3行目
※Ruby 1.9.2 以降をご使用の方のみ該当 ※本書付属CD-ROMで Ruby 1.9.1 をインストールした方は該当しません(修正なしで動作します)

require "read-integer"

require_relative "read-integer"



補足 Ruby-1.9.2 以降の require の仕様変更について


 require にプログラム名を指定した場合の動作が、Ruby 1.9.2 から変更されました。これは、意図せずに、ライブラリで提供されているプログラムの代わりに、現在のディレクトリ上のプログラムを読み込んでしまうことを防止するためです。
 このため、Ruby 1.9.2 以降を利用すると、本書のプログラムのうち、require を利用して同じディレクトリ上のプログラムを参照しているものは、正しく動作しなくなります。たとえば、P.77 のリスト2-8 などがこれにあたります。
 そのため、本書のリストの通りに記述すると、LoadError という例外が発生します。
 Ruby 1.9.2 以降を利用して現在のディレクトリのプログラムを読み込むには、次の2種類のいずれかの方法を利用してください。


  1. Ruby 1.9.2 から新設された require_relative を利用する

  2.  require_relative は、相対ディレクトリ指定でプログラムを読み込むことを指定する関数です。このため、プログラム名を指定して呼び出すと、現在実行しているプログラムと同じディレクトリ上のプログラムを読み込みます。
     require_relative を使ってリスト2-8 を書き直すと、以下の記述となります。


    require_relative "read-integer"


  3. 現在のディレクトリのプログラム読み込みを明示する

  4.  現在のディレクトリ上のプログラムであることを "./" ()を付加して示します。
     ディレクトリを指定してリスト2-8 を書き直すと、以下の記述となります。


    require "./read-integer"




 どちらの方法でも動作しますが、現在実行しているプログラムの仲間であることが明らかに示される require_relatvie を利用することをお勧めします。

 「.」は現在のディレクトリを示すキーワードで、「/」は Ruby が標準で利用するディレクトリの区切り記号です。なお、 Windows のディレクトリ区切り記号は「¥」ですが、 Ruby は他の OS に合わせて「/」を利用します。
2012.05.29
1刷 167
リスト5-4の1行目
※Ruby 1.9.2 以降をご使用の方のみ該当 ※本書付属CD-ROMで Ruby 1.9.1 をインストールした方は該当しません(修正なしで動作します)

require "caesar"

require_relative "caesar"


修正理由は、この正誤表p.077の修正にあります「補足 ● Ruby-1.9.2 以降の require の仕様変更について」をご覧ください。
2012.05.29
1刷 269
(4)番「check_library.rb」の6行目
puts("#{dir}/#{file}")
puts("#{dir}/#{check}")
2009.11.16
1刷 270
(5) birthday_3.rbとその別解の2行目
※Ruby 1.9.2 以降をご使用の方のみ該当 ※本書付属CD-ROMで Ruby 1.9.1 をインストールした方は該当しません(修正なしで動作します)

require "read-integer"

require_relative "read-integer"


修正理由は、この正誤表p.077の修正にあります「補足 ● Ruby-1.9.2 以降の require の仕様変更について」をご覧ください。
2012.05.29

感想・レビュー

baboocon さん

2015-05-09

2巻はRubyの入門書というよりもプログラミングの脱入門書のような印象。Ruby文法を一つ一つ紹介するのではなく、実際に色々な問題を解きながらおぼえていく形式。ハッシュと暗号や例外処理、ソートアルゴリズムの計算量の話は意外と参考になった。