書籍詳細(独習Ruby 新版)

独習Ruby 新版 書影

ISBN: 978-4-7981-6884-5

独習Ruby 新版

山田祥寛 著

著者山田祥寛
出版社翔泳社
価格3,200円(税別)
判形B5変版・1色
ページ数608ページ
発売日2021年9月13日
シリーズ 独習
対象レベル初中級

基礎からきっちり身に付くRuby入門書。Ruby 3対応

Rubyの基本的な知識/概念/機能、文法/プログラムの書き方を、さまざまなサンプルと共にしっかり解説します。解説→例題→練習問題(理解度チェック)の3ステップで、基本テクニックを身につけます。実際にサンプルコードを入力し、動かしながら学習することで、いっそう理解が深まります。サンプルはサポートページからダウンロード可能。
独習Ruby 新版 ロゴ

更新履歴

更新情報はありません。

目次

  • 第1章 イントロダクション
  • 1.1 Rubyとは?
  • 1.1.1 マシン語と高級言語
  • 1.1.2 コンパイル言語とインタプリター言語
  • 1.1.3 スクリプト言語
  • 1.1.4 オブジェクト指向言語
  • 1.1.5 Rubyのライブラリ
  • 1.2 Rubyアプリを開発/実行するための基本環境
  • 1.2.1 準備すべきソフトウェア
  • 1.2.2 Windows環境の場合
  • 1.2.3 macOS環境の場合
  • 1.2.4 サンプルの配置
  • 1.3 Rubyプログラミングの基本
  • 1.3.1 コードの実行方法
  • 1.3.2 irbによる実行
  • 1.3.3 ファイルからコードを実行する
  • 1.4 Rubyの基本ルール
  • 1.4.1 文字コードの設定
  • 1.4.2 改行コードの設定
  • 1.4.3 指定された値を表示する「puts」
  • 1.4.4 文を区切るのは改行
  • 1.4.5 大文字/小文字を区別する
  • 1.4.6 コメントは開発者のための備忘録
  • 1.5 デバッグ
  • 1.5.1 デバッグ機能の有効化
  • 1.5.2 デバッグの実行
  • この章の理解度チェック
  • 第2章 Rubyの基本
  • 2.1 変数
  • 2.1.1 変数の宣言
  • 2.1.2 識別子の命名規則
  • 2.1.3 よりよい識別子のためのルール
  • 2.1.4 定数
  • 2.2 データ型
  • 2.2.1 整数型(Integer)
  • 2.2.2 浮動小数点型(Float)
  • 2.2.3 [補足]数値セパレーター
  • 2.2.4 文字列型(String)
  • 2.2.5 シングルクォート文字列とダブルクォート文字列の違い
  • 2.2.6 特殊な文字列表現
  • 2.2.7 少し特殊な型
  • 2.3 配列
  • 2.3.1 配列の基本
  • 2.3.2 配列の設定
  • 2.3.3 [補足]最後の要素のカンマ
  • 2.3.4 配列の%記法
  • 2.3.5 入れ子の配列
  • 2.4 ハッシュ
  • 2.4.1 ハッシュの基本
  • 2.4.2 キーとしてのシンボル
  • この章の理解度チェック
  • 第3章 演算子
  • 3.1 算術演算子
  • 3.1.1 データ型によって挙動は変化する
  • 3.1.2 文字列と数値との演算
  • 3.1.3 除算演算子
  • 3.1.4 剰余演算子
  • 3.1.5 浮動小数点数の演算には要注意
  • 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.3.4 同一性と同値性
  • 3.3.5 条件演算子
  • 3.4 論理演算子
  • 3.4.1 ショートカット演算(短絡演算)
  • 3.5 ビット演算子
  • 3.5.1 ビット論理演算子
  • 3.5.2 ビットシフト演算子
  • 3.6 演算子の優先順位と結合則
  • 3.6.1 優先順位
  • 3.6.2 結合則
  • この章の理解度チェック
  • 第4章 制御構文
  • 4.1 条件分岐
  • 4.1.1 if命令――単純分岐
  • 4.1.2 if命令――多岐分岐
  • 4.1.3 if命令――入れ子構造
  • 4.1.4 unless命令――否定の条件式
  • 4.1.5 case...when命令――多岐分岐
  • 4.1.6 パターンマッチング[3.0]
  • 4.1.7 パターンマッチングのさまざまな表現
  • 4.1.8 [補足]条件式を指定する場合の注意点
  • 4.2 繰り返し処理
  • 4.2.1 条件式が真の間だけ処理を繰り返す――while命令
  • 4.2.2 条件式が真になるまで処理を繰り返す――until命令
  • 4.2.3 リストの内容を順に処理する――for命令
  • 4.2.4 決められた回数だけ処理を実行する――for+Range
  • 4.2.5 [補足]条件式での範囲式
  • 4.3 繰り返し処理(専用メソッド)
  • 4.3.1 配列を順に処理する――eachメソッド
  • 4.3.2 指定回数だけ処理を繰り返す――timesメソッド
  • 4.3.3 無限ループを定義する――loopメソッド
  • 4.3.4 制御構文とメソッド構文との相違点
  • 4.4 ループの制御
  • 4.4.1 ループを中断する――break命令
  • 4.4.2 現在の周回をスキップする――next命令
  • 4.4.3 現在の周回を再実行する――redo命令
  • 4.4.4 入れ子のループをまとめて抜け出す
  • 4.5 例外処理
  • 4.5.1 例外を処理する――begin...rescue命令
  • 4.5.2 例外の後処理を定義する――begin...rescue...else...ensure命令
  • 4.5.3 例外時にリトライする―retry命令
  • 4.5.4 例外処理の戻り値
  • この章の理解度チェック
  • 第5章 標準ライブラリ[基本]
  • 5.1 オブジェクト指向プログラミングの基本
  • 5.1.1 クラスとオブジェクト
  • 5.1.2 クラスのインスタンス化
  • 5.1.3 メソッドの種類と呼び出し
  • 5.1.4 ライブラリ活用の前に知っておきたいテーマ
  • 5.2 文字列の操作
  • 5.2.1 文字列の長さを取得する
  • 5.2.2 文字列を大文字⇔小文字で変換する
  • 5.2.3 部分文字列を取得する
  • 5.2.4 部分文字列を取得/置換/削除する――ブラケット構文
  • 5.2.5 文字列を検索する
  • 5.2.6 文字列を連結する
  • 5.2.7 文字列の前後から空白を除去する
  • 5.2.8 文字列に特定の文字列が含まれるかを判定する
  • 5.2.9 文字列を特定の区切り文字で分割する
  • 5.2.10 文字コードを変換する
  • 5.2.11 文字列を整形する
  • 5.3 日付/時刻の操作
  • 5.3.1 日付/時刻値を生成する
  • 5.3.2 年月日、時分秒などの時刻要素を取得する
  • 5.3.3 日付/時刻値を加算/減算する
  • 5.3.4 日付/時刻値の差分を求める
  • 5.3.5 日付/時刻値を比較する
  • 5.3.6 日付/時刻値を整形する
  • 5.3.7 タイムゾーンを変換する
  • 5.3.8 日付を繰り返し処理する
  • この章の理解度チェック
  • 第6章 標準ライブラリ[配列/セット/ハッシュ]
  • 6.1 配列
  • 6.1.1 配列を生成する
  • 6.1.2 配列から特定範囲の要素を取得する
  • 6.1.3 配列の要素数を取得する
  • 6.1.4 配列の前後に要素を追加/削除する
  • 6.1.5 複数の要素を追加/置換/削除する
  • 6.1.6 配列を連結する
  • 6.1.7 配列を順に処理する方法
  • 6.1.8 配列の要素を結合する
  • 6.1.9 配列を複製する
  • 6.1.10 配列を検索する
  • 6.1.11 条件に合致した要素を取得する
  • 6.1.12 配列内の要素を順番に加工する
  • 6.1.13 配列が特定の条件を満たすかを判定する
  • 6.1.14 配列の内容を並べ替える
  • 6.1.15 最大/最小の要素を取得する
  • 6.1.16 要素値の合計を求める
  • 6.1.17 配列内の要素を順に処理して1つにまとめる
  • 6.1.18 配列を分割する
  • 6.2 セット(集合)
  • 6.2.1 セットの生成
  • 6.2.2 セットの基本操作
  • 6.2.3 要素の有無/包含関係を判定する
  • 6.2.4 和集合/差集合/積集合などを求める
  • 6.2.5 セットを指定の条件で分割する
  • 6.3 ハッシュ
  • 6.3.1 ハッシュの生成
  • 6.3.2 ハッシュ表とキーの注意点
  • 6.3.3 ハッシュから値を取り出す
  • 6.3.4 特定の要素を削除する
  • 6.3.5 ハッシュの内容を順に処理する
  • 6.3.6 ハッシュを加工/結合する
  • 6.3.7 キーを同一性で判定する
  • 6.4 Enumerator
  • 6.4.1 Enumeratorの基本
  • 6.4.2 繰り返し処理の遅延評価
  • 6.4.3 内部イテレーターと外部イテレーター
  • この章の理解度チェック
  • 第7章 標準ライブラリ[その他]
  • 7.1 正規表現
  • 7.1.1 正規表現の基本
  • 7.1.2 Regexpオブジェクトを生成する方法
  • 7.1.3 文字列が正規表現パターンにマッチしたかを判定する
  • 7.1.4 正規表現パターンにマッチした文字列を取得する
  • 7.1.5 マッチしたすべての文字列を取得する
  • 7.1.6 正規表現オプションでマッチング時の挙動を制御する
  • 7.1.7 [補足]埋め込みフラグ
  • 7.1.8 [例]正規表現による検索
  • 7.1.9 正規表現で文字列を置換する
  • 7.1.10 正規表現で文字列を分割する
  • 7.2 ファイル操作
  • 7.2.1 [例]テキストファイルへの書き込み
  • 7.2.2 テキストファイルを読み込む
  • 7.2.3 インスタンスなしでファイルを操作する
  • 7.2.4 バイナリデータの読み書き
  • 7.2.5 テキスト情報を.rbファイルに同梱する
  • 7.2.6 タブ区切り形式のテキストを読み書きする
  • 7.2.7 オブジェクトのシリアライズ
  • 7.2.7 シリアライズ/デシリアライズの方法をカスタマイズする
  • 7.3 ファイルシステムの操作
  • 7.3.1 フォルダー配下のファイル情報を取得する
  • 7.3.2 フォルダー/ファイル情報を再帰的に取得する
  • 7.3.3 フォルダーを作成/リネーム/削除する
  • 7.3.4 フォルダーを作成/削除する(複数階層)
  • 7.3.5 ファイル/フォルダーを複製する
  • 7.4 HTTP経由でコンテンツを取得する
  • 7.4.1 net/httpライブラリの基本
  • 7.4.2 HTTP POSTによる通信
  • 7.4.3 [例]JSONデータを取得する
  • 7.5 その他の機能
  • 7.5.1 数学演算――Numericクラス
  • 7.5.2 乱数を生成する――Randomクラス
  • 7.5.3 オブジェクトの変更を禁止する
  • 7.5.4 数値⇔文字列に変換する
  • この章の理解度チェック
  • 第8章 ユーザー定義メソッド
  • 8.1 ユーザー定義メソッドの基本
  • 8.1.1 ユーザー定義メソッドの基本構文
  • 8.1.2 メソッド名
  • 8.1.3 仮引数と実引数
  • 8.1.4 戻り値
  • 8.1.5 メソッドの無効化/別名
  • 8.1.6 スクリプトの外部化
  • 8.2 変数の有効範囲(スコープ)
  • 8.2.1 ローカル変数とは?
  • 8.2.2 グローバル変数
  • 8.2.3 ローカル変数とブロックパラメーター
  • 8.2.4 仮引数のスコープ
  • 8.3 引数のさまざまな記法
  • 8.3.1 引数の既定値
  • 8.3.2 キーワード引数
  • 8.3.3 可変長引数のメソッド
  • 8.3.4 可変長引数(キーワード引数)
  • 8.3.5 「*」「**」による引数の展開
  • 8.3.6 引数をまとめて他のメソッドに引き渡す――「...」引数[2.7]
  • 8.4 メソッド呼び出しと戻り値
  • 8.4.1 複数の戻り値
  • 8.4.2 再帰呼び出し
  • 8.4.3 ジェネレーター
  • 8.5 ブロック付きメソッド
  • 8.5.1 ブロック付きメソッドの基本
  • 8.5.2 ブロックの引数/戻り値
  • 8.5.3 ブロックを引数として受け取る
  • 8.5.4 Procオブジェクト
  • 8.5.5 lambdaメソッド
  • この章の理解度チェック
  • 第9章 オブジェクト指向プログラミング
  • 9.1 クラスの定義
  • 9.1.1 最も簡単なクラス
  • 9.1.2 インスタンス変数
  • 9.1.3 メソッド
  • 9.1.4 アクセサーメソッド
  • 9.1.5 疑似変数self
  • 9.1.6 クラスメソッド
  • 9.1.7 クラス変数
  • 9.1.8 クラス定数
  • 9.1.9 [補足]クラス定数の凍結
  • 9.2 継承
  • 9.2.1 継承とは?
  • 9.2.2 メソッドのオーバーライド
  • 9.2.3 superによる基底クラスの参照
  • 9.2.4 既存メソッドの削除
  • 9.2.5 委譲
  • 9.3 カプセル化
  • 9.3.1 呼び出し制限
  • 9.3.2 シンボルによる呼び出し制限
  • 9.3.3 [注意]privateメソッドのアクセス範囲
  • 9.3.4 protectedメソッド
  • 9.4 ポリモーフィズム
  • 9.4.1 継承による実装
  • 9.4.2 ダックタイピング
  • この章の理解度チェック
  • 第10章 オブジェクト指向プログラミング[応用]
  • 10.1 例外処理
  • 10.1.1 例外クラスの型
  • 10.1.2 終了処理を定義する――ensure節
  • 10.1.3 メソッド定義でのbegin...rescue...ensure命令
  • 10.1.4 例外を発生させる――raise命令
  • 10.1.5 独自の例外クラス
  • 10.2 特殊なクラス
  • 10.2.1 オープンクラス
  • 10.2.2 特異メソッド/特異クラス
  • 10.2.3 構造体(Struct)
  • 10.3 モジュール
  • 10.3.1 モジュールの基本
  • 10.3.2 インスタンスの拡張(特異メソッド)
  • 10.3.3 モジュール関数
  • 10.3.4 名前空間
  • 10.3.5 メソッドの探索順序
  • 10.3.6 [補足]Kernelモジュール
  • 10.4 Objectクラス
  • 10.4.1 オブジェクトの文字列表現を取得する
  • 10.4.2 オブジェクト同士が等しいかどうかを判定する
  • 10.4.3 オブジェクトのハッシュ値を取得する
  • 10.4.4 オブジェクトを複製する
  • 10.4.5 オブジェクトをパターンマッチングする
  • 10.4.6 オブジェクトを反復処理する
  • 10.5 演算子の再定義
  • 10.5.1 オブジェクトを四則演算する
  • 10.5.2 オブジェクト同士を比較する
  • この章の理解度チェック
  • 第11章 高度なプログラミング
  • 11.1 マルチスレッド処理
  • 11.1.1 スレッドの実行/生成
  • 11.1.2 スレッドの処理結果を受け取る
  • 11.1.3 スレッドローカル変数を受け渡しする
  • 11.1.4 スレッド配下での例外の扱い
  • 11.1.5 排他制御
  • 11.1.6 デッドロック
  • 11.2 メタプログラミング
  • 11.2.1 メタプログラミングの基本
  • 11.2.2 Classクラス
  • 11.2.3 [補足]クラスインスタンス変数
  • 11.2.4 動的なコードの評価――eval
  • 11.2.5 メソッドの動的呼び出し
  • 11.2.6 リフレクション
  • この章の理解度チェック
  • 付録A 「練習問題」「この章の理解度チェック」解答
  • Column
  • アプリケーションフレームワーク「Ruby on Rails」
  • Rubyのパッケージ管理システム「RubyGems」
  • 標準ライブラリの便利な拡張機能「Active Support」
  • gemの依存関係を管理するBundler ―導入
  • gemの依存関係を管理するBundler ―Gemfile.lock
  • きれいなプログラム、書いていますか? ―スタイルガイド
  • Rubyの「べからず」なコードを洗い出す ―RuboCop
  • Rubyの組み込み変数

正誤表

現在、正誤情報はありません。

FAQ

現在、FAQはありません。

お問い合わせ

書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。

Powered by メールフォーム 『オレンジフォーム』