目次
- はじめに
- Ruby技術者認定試験概要
第1章 Rubyとは
1-1. Rubyの歴史
- Rubyの誕生と第一次Rubyブーム
- Ruby on Railsの登場
- CPUのスペック向上とメモリの価格降下
- 第二次Rubyブーム
- Rails 2.0 のリリースと周辺ビジネスの充実
1-2. Rubyが愛される理由
第2章 実行環境
2-1. Rubyのセットアップ
- Mac OS Xの場合~RVM(Ruby Version Manager)
- Windowsの場合~RubyInstaller for Windows
2-2. はじめてのRuby~Rubyチュートリアル
- irb
- 変数と定数
- 関数とクラス
2-3. コマンドラインオプションと環境変数
- 組み込み定数とコマンドラインオプション
- requireとload
2-4. APIリファレンス
- コメントとRDoc
- 第2章のまとめ
第3章 文法
3-1. 識別子
- 命名規則
- 変数と定数のスコープ
3-2. 数値
- 数値リテラル
- 数値演算
- 数値クラスと演算子の再定義
- メソッド
3-3. 論理値
- 条件分岐
- 擬似変数
- 論理演算子
3-4. 文字列
- 文字列リテラルと式展開
- バックスラッシュ記法
- ヒアドキュメント
- パーセント記法
- 文字列演算
- sprintfによるフォーマット指定
3-5. シンボル
- シンボルリテラル
- オブジェクトの同値性と同一性
- 変数と値
3-6. 配列
- 配列リテラル
- 添字演算子
- 多重代入と可変長引数
- 配列の演算
- for式
3-7. ハッシュ
- ハッシュリテラル
- ハッシュ引数
3-8. 範囲
- 範囲リテラル
- case式
- while式とuntil式
3-9. 正規表現とコマンド出力
- 正規表現オブジェクト
- 正規表現記号とオプション
- コマンド出力
3-10. ブロックとProc
- ブロックの基本
- ブロックのフォーマットと判定
- Proc
- lambda
- ブロックを受けるメソッド
- スレッド
- ファイバ
3-11. 脱出構文と例外処理,大域脱出
- 脱出構文
- 例外処理
- 例外クラスを指定した捕捉
- catch/throwによる大域脱出
- 第3章のまとめ
第4章 オブジェクト指向
4-1. クラス定義
- class式
- インスタンスメソッドと初期化メソッド
- クラス継承
- super
4-2. インスタンスメソッド
- クラスオブジェクト
- 継承したクラスオブジェクト
- メソッドの探索経路
- 継承チェーンとmethod_missing
- オープンクラス
4-3. Mix-in
- モジュールの定義とインクルード
- モジュールのメソッドの探索経路
4-4. 特異クラス
- 特異クラスの性質
- 特異クラスの参照と再オープン
- extendメソッド
- prependメソッド
- Refinements
4-5. クラスメソッド
- Classクラス
- クラスメソッドの定義
4-6. メソッドの可視性と組み込み関数
- メソッドの可視性
- Kernelモジュールと関数
4-7. 変数と定数
- ローカル変数とグローバル変数
- インスタンス変数
- クラス変数
- ネストしたスコープの定義
- ネストしたスコープの参照
- 第4章のまとめ
第5章 組み込みクラス
5-1. BasicObjectクラス
5-2. Objectクラス
- オブジェクトのID
- オブジェクトのクラス
- オブジェクトの比較
- オブジェクトのメソッド一覧
- オブジェクトの複製
- インスタンス変数にアクセスする
- 未定義メソッドの呼び出し
- オブジェクトの文字列表現
- 特別なオブジェクト
5-3. 数値型クラス - Numeric,Integer,Fixnum,Bignum,Float,Rational,Complex
- Numericクラス
- Integerクラス
- Fixnumクラス,Bignumクラス
- Complexクラス
- Rationalクラス
- Encodingクラス
5-4. Stringクラス
- 文字列の文字コード情報
- 文字列の比較
- 文字列の切り出し
- 文字列の変更
- 文字列の置換
- 文字列の連結
- 文字列の大文字,小文字への変換
- 文字列の末尾や先頭にある空白や改行を削除する
- 文字列を逆順にする
- 文字列の長さ
- 文字列の割り付け
- 非表示文字列を変換する
- 文字列をアンパックする
- 文字列内での検索
- 次の文字列を求める
- 文字列に対する繰り返し
- 他のクラスへの変換
5-5. Arrayクラス
- 配列の生成
- 配列に要素を追加する
- 配列の要素を変更する
- 配列の要素を参照する
- 配列の要素を調べる
- 配列の要素を削除する
- 配列の演算
- 配列の比較
- 配列の要素での繰り返し
- 配列の要素を連結する
- 配列の長さを求める
- 配列をソートする
- 配列を変換する
- 配列を組み合わせて生成する
- 配列をパックする
5-6. Hashクラス
- ハッシュの生成
- ハッシュのキーや値を取得する
- ハッシュを変更する
- ハッシュを調べる
- ハッシュを使った繰り返し
- ハッシュをソートする
- ハッシュを変換する
5-7. Symbolクラス
- 定義済みのSymbolオブジェクトを取得する
- Symbolオブジェクトに対応する文字列を取得する
5-8. Dirクラス,IOクラス,Fileクラス
- Dirクラス
- Fileクラス
- IOクラス
5-9. Timeクラス
- Timeオブジェクトの生成
- Timeオブジェクトの属性を取得する
- タイムゾーンを変更する
- Timeオブジェクトの演算
- Timeオブジェクトの変換
5-10. Regexpクラス
- 正規表現オブジェクトを生成する
- 正規表現オブジェクトでマッチングする
- 正規表現の特殊文字をエスケープする
- マッチした結果を取得する
- 正規表現の論理和を求める
- 正規表現オブジェクトのオプションや属性を取得する
5-11. Exceptionクラス
5-12. Procクラス
- ブロック付きメソッドの引数として利用する
- 手続きオブジェクトの中での処理の中断
- Procクラス以外の手続きオブジェクト
5-13. Moduleクラス
- 定義されている定数に関するメソッド
- メソッドの設定
- 評価する
- クラス変数を扱う
- モジュールの機能を取り込む
- モジュール関数にする
- 祖先クラスを取得する
5-14. Enumerableモジュール
5-15. Comparableモジュール
5-16. Marshalモジュール
5-17. Threadクラス
- スレッドの生成
- スレッドの状態
- スレッドの実行,一時停止,終了
- スレッド終了時のensure節
- スレッド中の例外
- スレッドのデッドロック
- スレッドのリスト
- スレッドの切り替え
- スレッドの終了を待つ
- スレッドの優先度
- スレッド固有のデータ
5-18. Fiberクラス
- 第5章のまとめ
第6章 添付ライブラリ
6-1. 添付ライブラリ
6-2. テキスト
- StringIO
6-3. ファイルフォーマット
- yaml
- json
- csv
6-4. ファイル
- fileutils
6-5. ネットワーク
- socket
- uri
- net/http
6-6. 日付・時間
- date
6-7. マルチスレッド・同期
- thread
6-8. 開発ツール
- test/unit
- RDoc
6-9. コマンドライン
- optparse
- 第6章のまとめ
第7章 Ruby技術者認定試験Silver演習問題
- 問題篇 基礎力確認問題
- 問題篇 模擬試験
- 解答篇 基礎力確認問題
- 解答篇 模擬試験
第8章 Ruby技術者認定試験Gold演習問題
- 問題篇 基礎力確認問題
- 問題篇 模擬試験
- 解答篇 基礎力確認問題
- 解答篇 模擬試験
- あとがき