書籍概要

最短突破

最短突破
Ruby技術者認定試験(Silver/Gold対応) 公式テキスト

著者
発売日
更新日

概要

Ruby技術者認定試験(SilverおよびGold)の,最新バージョンであるversion3に対応した公式テキストです。試験対策としてはもちろんですが,Rubyの文法をはじめ,オブジェクト指向や各種ライブラリなど,Rubyを使いこなす上で必須の基礎知識もしっかり身につきます。巻末にはRuby技術者認定試験Silver/Goldに準拠した練習問題(各30問)および模擬試験(各50問)が付属します。

こんな方におすすめ

  • 初級から中級のRubyプログラマ
  • Rubyの実力を証明したいエンジニア

目次

第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 試験の申し込み方法

第2章 実行環境

  • 2-1 Rubyのセットアップ
    • 2-1-1 Mac OSの場合~rbenv
    • 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-9-4 コマンド出力
  • 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-4 数値型クラス - Numeric,Float,Integer,Rational,Complex
    • 5-4-1 Numericクラス
    • 5-4-2 Floatクラス
    • 5-4-3 Integerクラス
    • 5-4-4 Rationalクラス
    • 5-4-5 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 Mutexクラス
    • 5-20-1 ミューテックスによる排他制御
  • 5-21 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 forwardable
    • 6-7-2 delegate
    • 6-7-3 observer
    • 6-7-4 singleton
  • 6-8 開発ツール
    • 6-8-1 test/unit
    • 6-8-2 RDoc
  • 6-9 コマンドライン
    • 6-9-1 optparse
  • 第6章のまとめ

第7章 Ruby技術者認定試験Silver演習問題

  • 問題篇 基礎力確認問題
  • 問題篇 模擬試験
  • 解答篇 基礎力確認問題
  • 解答篇 模擬試験

第8章 Ruby技術者認定試験Gold演習問題

  • 問題篇 基礎力確認問題
  • 問題篇 模擬試験
  • 解答篇 基礎力確認問題
  • 解答篇 模擬試験

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおか けしたことを深くお詫び申し上げます。

(2024年10月15日最終更新)

P.36 コード3-14

1.class.superclass   # => Numeric
1.2.class.superclass # => Float
1.class # => Integer
1.class.superclass # => Numeric

(以下2024年9月4日更新)

P.175 「コード4-62」の直下の1~2行目にかけて

外部から参2可能な変数
外部から参可能な変数

P.512 「問題8」の解答と解説

解答:1
解説:privateメソッドは、レシーバを指定した呼び出しはできません。
解答:1, 2
解説:privateはレシーバを付けた呼び出しはできませんが、Ruby 2.7以降、selfからの呼び出しはできるようになったため、self.hogeも呼び出すことができます。

商品一覧