ForNext
Only Do What Only You Can Do
高橋 征義, 後藤 裕蔵『たのしい Ruby』
第1章 はじめてのRuby
- 1.1 Rubyを動かす
- 1.1.1 Windowsの場合
- 1.1.2 Unixの場合
- 1.1.3 MacOS Xの場合
- 1.1.4 動作確認
- 1.2 プログラムの解説
- 1.2.1 オブジェクト
- 1.2.2 メソッド
- 1.3 文字列
- 1.3.1 改行文字と「\」
- 1.3.2 「''」と「""」
- 1.4 メソッドの呼び出し
- 1.5 putsメソッド
- 1.6 pメソッド
- 1.7 日本語の表示
- 1.8 数値の表示と計算
- 1.8.1 数値の表示
- 1.8.2 四則演算
- 1.8.3 数学的な関数
- 1.9 変数
- 1.10 コメントを書く
- 1.11 制御構造
- 1.11.1 制御構造の分類
- 1.12 条件判断:if〜then〜end
- 1.13 繰り返し
- 1.13.1 while文
- 1.13.2 timesメソッド
- 1.14 メソッドの作成
- 1.15 別のファイルを取り込む
第2章 便利なオブジェクト
- 2.1 配列(Array)
- 2.1.1 配列を作る
- 2.1.2 配列からオブジェクトを取り出す
- 2.1.3 配列にオブジェクトを格納する
- 2.1.4 配列の中身
- 2.1.5 配列と大きさ
- 2.1.6 配列と繰り返し
- 2.2 ハッシュ(Hash)
- 2.2.1 ハッシュを作る
- 2.2.2 ハッシュからオブジェクトを取り出す
- 2.2.3 ハッシュの繰り返し
- 2.3 正規表現
- 2.3.1 パターンマッチと正規表現
第3章 コマンドを作ろう
- 3.1 コマンドラインからのデータの入力
- 3.2 ファイルからの読み込み
- 3.2.1 ファイルからテキストデータを読み込んで表示する
- 3.2.2 ファイルからテキストデータを1行ずつ読み込んで表示する
- 3.2.3 ファイルの中から特定のパターンの行のみを選んで出力する
第4章 オブジェクトと変数・定数
- 4.1 オブジェクト
- 4.2 クラス
- 4.3 変数
- 4.4 定数
- 4.5 予約語
第5章 条件判断
- 5.1 条件判断とは
- 5.2 Rubyでの条件
- 5.2.1 条件と真偽値
- 5.2.2 論理演算子
- 5.3 if文
- 5.4 unless文
- 5.5 case文
- 5.6 if修飾子とunless修飾子
- 5.7 まとめ
第6章 繰り返し
- 6.1 繰り返しの基本
- 6.2 繰り返しで気をつけること
- 6.3 繰り返しの実現方法
- 6.4 timesメソッド
- 6.5 for文
- 6.6 一般的なfor文
- 6.7 while文
- 6.8 until文
- 6.9 eachメソッド
- 6.10 loopメソッド
- 6.11 繰り返しの制御
- 6.11.1 break
- 6.11.2 next
- 6.11.3 redo
- 6.12 まとめ
第7章 メソッド
- 7.1 メソッド呼び出し
- 7.2 メソッドの分類
- 7.2.1 インスタンスメソッド
- 7.2.2 クラスメソッド
- 7.2.3 関数的メソッド
- 7.3 メソッドの定義
- 7.3.1 メソッドの返り値
第8章 クラスとモジュール
- 8.1 クラスとは
- 8.1.1 クラスとインスタンス
- 8.1.2 継承
- 8.2 クラスを作る
- 8.2.1 class文
- 8.2.2 initializeメソッド
- 8.2.3 インスタンス変数とインスタンスメソッド
- 8.2.4 アクセスメソッド
- 8.2.5 クラスメソッド
- 8.2.6 定数
- 8.2.7 クラス変数
- 8.2.8 クラスを拡張する
- 8.2.9 継承する
- 8.2.10 メソッドの呼び出しを制限する
- 8.3 オブジェクト指向とは
- 8.3.1 データと処理
- 8.3.2 「データと処理」の問題点
- 8.3.3 オブジェクト
- 8.3.4 オブジェクト指向の特徴
- 8.3.5 ダックタイピング
- 8.4 モジュールとは
- 8.4.1 モジュールの使い方
- 8.5 モジュールを作る
- 8.5.1 定数
- 8.5.2 メソッドの定義
第9章 エラー処理と例外
- 9.1 エラー処理について
- 9.2 例外処理
- 9.3 例外処理の書き方
- 9.4 後処理
- 9.5 やりなおし
- 9.6 rescue修飾子
- 9.7 例外処理の構文の補足
- 9.8 補足する例外を指定する
- 9.9 例外クラス
- 9.10 例外を発生させる
- 9.11 catchとthrow
第10章 数値(Numeric)クラス
- 10.1 Numericのクラス構成
- 10.2 数値のリテラル
- 10.3 算術演算
- 10.3.1 割り算
- 10.3.2 Mathモジュール
- 10.4 数値型の変換
- 10.5 ビット演算
- 10.6 数えあげ
第11章 配列(Array)クラス
- 11.1 配列の復習
- 11.2 配列の作り方
- 11.2.1 Array.newを使う
- 11.2.2 %wを使う
- 11.2.3 to_aメソッドを使う
- 11.2.4 文字列のsplitメソッドを使う
- 11.3 インデックスの使い方
- 11.3.1 要素を取り出す
- 11.3.2 要素を置き換える
- 11.3.3 要素を挿入する
- 11.3.4 複数のインデックスから配列を作る
- 11.4 インデックスを使わない配列の操作
- 11.5 集合としての配列
- 11.5.1 「|」と「+」の違い
- 11.6 「列」としての配列
- 11.7 配列の主なメソッド
- 11.7.1 配列に要素を加える
- 11.7.2 配列から要素を取り除く
- 11.7.3 配列の要素を置き換える
- 11.8 配列とイテレータ
- 11.9 配列内の各要素を処理する
- 11.9.1 繰り返しとインデックスを使う
- 11.9.2 eachメソッドで要素を1つずつ得る
- 11.9.3 破壊的なメソッドで繰り返しを行う
- 11.9.4 その他のイテレータを使う
- 11.9.5 専用のイテレータを作る
- 11.10 配列の要素
- 11.10.1 例:簡単な行列を使う
- 11.10.2 初期化に注意
- 11.11 複数の値に並行してアクセスする
第12章 文字列(String)クラス
- 12.1 文字列を作る
- 12.1.1 %Q,%qを使う
- 12.1.2 ヒアドキュメントを使う
- 12.1.3 sprintfメソッドを使う
- 12.2 文字列の長さを得る
- 12.3 文字列を分割する
- 12.4 文字列をつなげる
- 12.5 文字列のインデックス
- 12.6 文字列を比較する
- 12.6.1 文字列の大小比較
- 12.7 改行文字の扱い方
- 12.8 文字列の検索と置換
- 12.8.1 文字列の検索
- 12.8.2 文字列の置換
- 12.9 文字列と配列で共通するメソッド
- 12.9.1 インデックス操作に関するメソッド
- 12.9.2 Enumerableモジュール関連のメソッド
- 12.9.3 連結や逆順に関するメソッド
- 12.10 その他のメソッド
第13章 ハッシュ(Hash)クラス
- 13.1 ハッシュの復習
- 13.2 ハッシュの作り方
- 13.2.1 {}を使う
- 13.2.2 Hash.newを使う
- 13.3 値を取り出す・設定する
- 13.3.1 キーや値をまとめて取り出す
- 13.3.2 ハッシュのデフォルト値
- 13.4 あるオブジェクトをキーや値として持っているかどうか調べる
- 13.5 ハッシュの大きさを調べる
- 13.6 キーと値を削除する
- 13.6 ハッシュを初期化する
- 13.6.1 2つのキーがあるハッシュを扱う
- 13.7 応用例:単語数を数える
第14章 正規表現(Regexp)クラス
- 14.1 正規表現について
- 14.1.1 正規表現の書き方と使い方
- 14.1.2 正規表現オブジェクトの作り方
- 14.2 正規表現のパターンとマッチング
- 14.2.1 通常の文字によるマッチング
- 14.2.2 行頭と行末とのマッチング
- 14.2.3 マッチさせたい文字を範囲で指定する
- 14.2.4 任意の文字とのマッチング
- 14.2.5 バックスラッシュを使ったパターン
- 14.2.6 繰り返し
- 14.2.7 最短マッチ
- 14.2.8 「()」と繰り返し
- 14.2.9 選択
- 14.3 quoteメソッドを使った正規表現
- 14.4 正規表現のオプション
- 14.5 後方参照
- 14.6 正規表現を使うメソッド
- 14.6.1 subメソッドとgsubメソッド
- 14.6.2 scanメソッド
- 14.7 正規表現の例
第15章 IOクラス
- 15.1 入出力の種類
- 15.1.1 標準入出力
- 15.1.2 ファイル入出力
- 15.1.3 open-uri.rb
- 15.1.4 stringio.rb
- 15.2 基本的な入出力操作
- 15.2.1 入力操作
- 15.2.2 出力操作
- 15.3 ファイルポインタ
- 15.4 バイナリモードとテキストモード
- 15.5 バッファリング
- 15.6 コマンドとのやりとり
第16章 FileクラスとDirクラス
- 16.1 Fileクラス
- 16.1.1 ファイル名を変更する
- 16.1.2 ファイルをコピーする
- 16.1.3 ファイルを削除する
- 16.2 ディレクトリの操作
- 16.2.1 ディレクトリの内容を読む
- 16.2.2 Dir.glob
- 16.2.3 ディレクトリの作成と削除
- 16.3 ファイルとディレクトリの属性
- 16.3.1 属性の取得
- 16.3.2 FileTestモジュール
- 16.4 ファイル名の操作
- 16.5 ファイル操作関連のライブラリ
- 16.5.1 find.rb
- 16.5.2 tempfile.rb
- 16.5.3 fileutils.rb
第17章 TimeクラスとDateクラス
- 17.1 Timeクラス,Dateクラス,DateTimeクラス
- 17.2 Timeオブジェクトを取得する
- 17.3 時刻を計算する
- 17.4 時刻のフォーマット
- 17.5 ローカルタイム
- 17.6 文字列の解析
- 17.7 DateTimeクラスを使う
- 17.8 DateTimeクラスとTimeクラスの違い
- 17.8.1 DateTimeクラスにおける1日の表現
- 17.8.2 時差の扱いの違い
- 17.9 Dateクラスを使って日付を求める
- 17.10 日付を計算する
- 17.11 日付のフォーマット
- 17.12 文字列の解析
第18章 Ruby落ち穂ひろい
- 18.1 コマンドラインオプション
- 18.1.1 デバッグ・動作確認用
- 18.1.2 情報取得
- 18.1.3 ワンライナー用
- 18.1.4 セキュリティチェック
- 18.1.5 その他
- 18.2 環境変数
- 18.3 リテラル
- 18.4 組み込み変数
- 18.5 組み込み定数
- 18.6 多重代入
- 18.7 BEGIN{}とEND{}
- 18.8 alias
- 18.9 undef
- 18.10 疑似変数
第19章 演算子
- 19.1 論理演算子の応用
- 19.2 条件演算子
- 19.3 自己代入
- 19.4 範囲演算子
- 19.5 演算子の優先順位
- 19.6 演算子を定義する
- 19.6.1 二項演算子
- 19.6.2 単項演算子
- 19.6.3 配列参照演算子
第20章 イテレータ
- 20.1 イテレータとブロックつき呼び出し
- 20.2 イテレータの基本
- 20.3 さまざまなイテレータ
- 20.3.1 配列の場合
- 20.3.2 ハッシュの場合
- 20.3.3 ファイルの例
- 20.4 Enumerableモジュール
- 20.4.1 eachメソッド
- 20.4.2 collectメソッド
- 20.4.3 sortメソッド
- 20.4.4 sort_byメソッド
- 20.5 イテレータを作る
- 20.5.1 引数のあるイテレータ
第21章 Mix-in
- 21.1 includeメソッド
- 21.2 Comparableモジュール
- 21.3 Enumerableモジュール
- 21.4 継承との関係
- 21.5 メソッド検索のルール
第22章 ログの解析
- 22.1 アクセスログの概要
- 22.2 アクセス数を調べる
- 22.3 アクセス日を調べる
- 22.4 アクセス日をグラフで出力する
- 22.5 特定のファイルへのアクセス数を集計する
第23章 郵便番号の検索
- 23.1 郵便番号データベース
- 23.2 とりあえず読んでみる
- 23.3 gdbmライブラリ
- 23.4 データの登録
- 23.5 データの検索
- 23.6 jzipcode.rb
- 23.7 使ってみる
- 23.8 まとめ
第24章 HTMLの解析
- 24.1 HTMLについて
- 24.1.1 要素とタグ
- 24.1.2 コメント
- 24.1.3 文字参照
- 24.2 プログラムの作成
- 24.2.1 コメントの解析
- 24.2.2 タグの解析(その1)
- 24.2.3 テキストデータの解析
- 24.2.4 試してみる
- 24.2.5 タグの解析(その2)
- 24.3 リンクの一覧