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