『Rubyレシピブック』目次
第1章 Rubyの文法
- 001 リテラル
- 002 演算子
- 003 変数と定数
- 004 代入
- 005 文の区切り
- 006 コメント
- 007 真偽値と条件分岐
- 008 繰り返し
- 009 メソッド呼び出し
- 010 ブロック
- 011 メソッド定義
- 012 メソッドの呼び出し制限
- 013 クラス定義
- 014 モジュール定義
- 015 特異メソッド
- 016 例外処理
- 017 aliasとundef
- 018 予約語
第2章 文字列
- 019 適切な文字列リテラルを選ぶ
- 020 デフォルトの文字コードを設定する
- 021 文字コードを変換する
- 022 文字コードを推測する
- 023 文字列を複製する
- 024 文字列を反復する
- 025 文字列の長さを得る
- 026 文字列を検索する
- 027 正規表現が文字列の先頭・末尾にマッチするか調べる
- 028 単語にマッチさせる
- 029 特定の文字コードで正規表現マッチを行う
- 030 正規表現「.」に\nをマッチさせる
- 031 前回マッチした部分の続きからマッチさせる
- 032 特定の文字・文字列の出現回数を調べる
- 033 文字の出現頻度を調べる
- 034 文字列を比較する
- 035 空白にマッチさせる
- 036 文字列が空行か調べる
- 037 数値を表す文字列か調べる
- 038 文字列を数値に変換する
- 039 文字が大文字か小文字かを調べる
- 040 文字を大文字・小文字に変換する
- 041 文字列の一部を取り出す
- 042 正規表現にマッチした部分を取り出す
- 043 正規表現にマッチした部分の前後の文字列を取り出す
- 044 特定の文字を含む部分の長さを調べる
- 045 文字列を段落に分ける
- 046 文字列を行に分ける
- 047 文字列を単語に分ける
- 048 正規表現で文字列を分割する
- 049 文字列を文字ごとに処理する
- 050 文字列をバイトごとに処理する
- 051 文字列を連結する
- 052 文字列の一部を置換する
- 053 文字をエスケープする/エスケープを外す
- 054 文字列の一部を取り除く
- 055 行末の改行文字を取り除く
- 056 文字列の先頭・末尾から空白を取り除く
- 057 タブと半角空白文字を変換する
- 058 インデントを変更する
- 059 ヒアドキュメントの本体をインデントして書く
- 060 文字列の末尾に文字列を追加する
- 061 文字列の一部を破壊的に削除する
- 062 文字列の途中に破壊的に文字列を挿入する
- 063 文字と文字コードを相互変換する
- 064 文字列をn文字ずつに分割する
- 065 文字列を最大nバイトに切り詰める
- 066 文字列を最大n文字に切り詰める
- 067 文字列を最大n桁に切り詰める
- 068 文字列の一部を特定の文字で埋める
- 069 メッセージダイジェストを作成する
- 070 文字列が正規表現として正しいか調べる
- 071 正規表現のメタ文字をエスケープする
- 072 文字列が複数の正規表現のすべてにマッチするか調べる
- 073 正規表現を分割して記述する
- 074 正規表現集
- 075 文字列を段落ごとに整形する
- 076 いろいろなテキストフォーマットを解析する
- 077 「,」で区切られたデータ(CSV)を処理する
- 078 XMLを解析する
- 079 YAMLを解析する
- 080 HTMLを処理する
- 081 単語を補完する
- 082 有効なメールアドレスか調べる
第3章 配列とハッシュ
- 083 配列を作成する
- 084 配列を複製する
- 085 多次元配列を作成する
- 086 配列やハッシュの全要素を順に処理する
- 087 複数の配列を並行処理する
- 088 多次元配列をまたがってループする
- 089 配列の要素を取得する
- 090 配列の要素を変更する
- 091 配列の要素を削除する
- 092 配列の先頭・末尾に要素を追加する
- 093 配列の先頭・末尾の要素を取り除く
- 094 配列の要素を置換する
- 095 配列の要素をランダムに取得する
- 096 配列の要素をシャッフルする
- 097 配列の要素数を調べる
- 098 配列の要素の出現回数を調べる
- 099 配列から複数の要素を一度に取得する
- 100 配列のインデックスと要素のペアを取得する
- 101 同じ値で配列の要素を埋める
- 102 配列から重複する要素を取り除く
- 103 配列から条件を満たす要素を取得する
- 104 配列の要素を検索する
- 105 2つの配列を比較する
- 106 2つの配列に共通する要素を調べる
- 107 2つの配列の差を取る
- 108 配列を連結する
- 109 配列の要素の順序を逆転する
- 110 一定範囲の整数を要素とする配列を作成する
- 111 配列を(「,」つきで)連結して文字列にする
- 112 バイナリサーチを行う
- 113 ハッシュのキーになるクラスを作る
- 114 ハッシュに要素を追加する
- 115 ハッシュ内にキーが存在するか調べる
- 116 ハッシュの要素を削除する
- 117 ハッシュの内容を表示する
- 118 ハッシュの要素を挿入した順に取り出す
- 119 1つのキーに複数の値が対応するハッシュを作る
- 120 ハッシュのキーと値を入れ替える
- 121 配列やハッシュをソートする
- 122 ハッシュをマージする
- 123 2つのハッシュの両方にあるキー/一方にしかないキーを見つける
- 124 デフォルトの値を設定する
- 125 巨大で疎な配列を使う
- 126 コレクションのような性質をもつクラスを作る
- 127 スタックやキューを使う
第4章 ファイルとディレクトリ
- 128 ファイル名を構成要素に分割する
- 129 相対パスから絶対パスを求める
- 130 パス名がパターンにマッチするか調べる
- 131 ディレクトリとファイルの一覧を取得する
- 132 現在のディレクトリ名を取得する
- 133 現在のディレクトリを変更する
- 134 実行しているスクリプト自身のパスを求める
- 135 ファイル名を変更する
- 136 ファイルをコピーする
- 137 ファイルを削除する
- 138 ファイルが読み込み・書き込み可能か調べる
- 139 ファイルの存在を調べる/種類を判定する
- 140 ファイルの属性を取得する
- 141 ファイルの属性を変更する
- 142 リンクを作成する
- 143 2つのファイルが同じか調べる
- 144 ディレクトリを作成する
- 145 ディレクトリ内のすべてのファイルを再帰的に処理する
- 146 ディレクトリを再帰的にコピーする
- 147 ディレクトリを削除する
- 148 ファイル操作を事前に確認する
- 149 名前がぶつからない新しいファイルを作成する
第5章 入出力
- 150 ファイルを開く
- 151 ファイルを行単位で処理する
- 152 ファイルの内容を読み込む
- 153 新しいファイルを作成する
- 154 ファイルの最後にデータを追加する
- 155 ワンライナでファイルを更新する
- 156 出力操作とファイルの更新を同期させる
- 157 ファイルの行数を数える
- 158 行単位にファイルを末尾から処理する
- 159 成長するファイルを追いかけながら読む
- 160 テンポラリファイルを作成する
- 161 ファイルをロックする
- 162 ファイルを16進ダンプする
- 163 ファイルに1行挿入する
- 164 ファイルにバイナリモードで書き込む
- 165 固定長レコードを処理する
- 166 ファイルのサイズを切り詰める
- 167 ファイルの先頭のn行を削除する
- 168 ファイルの末尾のn行を削除する
- 169 標準入出力をファイルにつなぎ換える
- 170 IOオブジェクトを複製する
- 171 printfで出力を整形する
第6章 数値
- 172 数値をフォーマットする
- 173 ビット演算を行う
- 174 2進,8進,10進,16進の各表現を相互に変換する
- 175 数値を3桁ずつ「,」で区切る
- 176 回数を指定して処理を繰り返す
- 177 最大値・最小値を求める
- 178 数値の総和を求める
- 179 絶対値を求める
- 180 割り算の余りを求める
- 181 べき乗を求める
- 182 最大公約数と最小公倍数を求める
- 183 平方根を求める
- 184 三角関数を計算する
- 185 直交座標を極座標に変換する
- 186 対数計算を行う
- 187 浮動小数点数を丸める
- 188 浮動小数点数を比較する
- 189 乱数を得る
- 190 行列を使う
- 191 複素数を使う
- 192 有理数を使う
第7章 日付と時刻
- 193 現在の日時を調べる
- 194 日時から月や曜日を取り出す
- 195 日時とエポック秒を相互に変換する
- 196 2つの日時の差を求める
- 197 日時をフォーマットする
- 198 文字列を日時に変換する
- 199 1月1日からの通算日を求める
- 200 うるう年を判定する
- 201 月末の日付を求める
- 202 休日を判定する
- 203 「今月の第3月曜日」の日付を求める
第8章 環境とのかかわり
- 204 Rubyスクリプトをコマンドにする
- 205 コマンドにしたRubyスクリプトを一時的にオプションつきで実行する
- 206 コマンドラインオプションを得る
- 207 コマンドラインオプションを解析する
- 208 環境変数にアクセスする
- 209 コマンドとしてもライブラリとしても使えるようにする
- 210 Rubyのライブラリローダを制御する
- 211 Rubyスクリプトをデバッグする
- 212 ユーザやグループに関する情報を得る
- 213 ユーザID・グループIDを切り替える
- 214 Windowsレジストリにアクセスする
- 215 システムのライブラリ関数を呼ぶ
第9章 プロセスとプロセス間通信
- 216 スクリプトを一時的に停止する
- 217 スクリプトの処理時間を計測する
- 218 コマンドを起動する
- 219 プロセスをフォークする
- 220 シグナルハンドラを設定する
- 221 デーモンになる
- 222 Windowsアプリケーションを操る
- 223 ローカルホスト名を得る
- 224 ホスト名とIPアドレスを変換する
- 225 TCPクライアントを作る
- 226 TCPサーバを作る
- 227 HTTPクライアントを作る
- 228 別プロセスのRubyオブジェクトにアクセスする
第10章 CGI
- 229 フォームから入力された値を取り出す
- 230 クエリ文字列を取り出す
- 231 セッションを使用する
- 232 クッキーを処理する
- 233 メタ変数を参照する
- 234 HTTPヘッダを出力する
- 235 URLをエンコードする/デコードする
- 236 HTMLをエスケープする/エスケープを外す
- 237 汚染モード(taintモード)を使う
- 238 クロスサイトスクリプティングを防ぐ
- 239 HTMLにRubyのスクリプトを埋め込む
- 240 ファイルをアップロードする
第11章 オブジェクト
- 241 オブジェクトが同じか調べる
- 242 オブジェクトを複製する
- 243 オブジェクトのクラスを調べる
- 244 オブジェクトを文字列に変換する
- 245 オブジェクトを数値に変換する
- 246 オブジェクトを配列に変換する
- 247 オブジェクトをファイルに保存する
- 248 多重継承する
- 249 メソッドを委譲する
- 250 ブロックを委譲する
- 251 StringやArrayとして扱えるクラスを作る
- 252 無名関数を使う
- 253 メソッドをオーバーロードする
- 254 キーワード引数を使う
- 255 モジュール関数を定義する
- 256 クラスメソッドの別名を定義する
- 257 インスタンス変数をクラスごとにプライベートにする
- 258 オブジェクトにメソッドが存在するか調べる
- 259 オブジェクトに定義されているメソッドのリストを得る
- 260 互換性を保ったままメソッド名を変える
- 261 互換性を保ったまま引数の個数を変える
- 262 互換性を保ったままブロックをつける/外す
- 263 互換性を保ったままクラス名を変える
- 264 互換性を保ったままライブラリ名を変える
- 265 新しいRubyのメソッドを古いRubyでも使う
- 266 ファイルをRubyスクリプトとしてロードする
- 267 文字列をRubyスクリプトとして実行する
- 268 スクリプトファイル名・行番号をすり替える
付録
- A01 Web上のリソース
- A02 コマンドラインオプション
- A03 Rubyが参照する環境変数
- A04 Ruby標準クラスライブラリ
- A05 printfフォーマット文字列
- A06 packテンプレート文字列