書籍概要

3ステップでしっかり学ぶ

3ステップでしっかり学ぶ
Ruby入門

著者
発売日
更新日

概要

本書では,初めてRubyのプログラミングを学習する人を主な読者として想定して文法の基本からプログラミングのポイントを丁寧に解説しています。「この項目で学ぶこと」「実際にやってみよう」「実行結果から文法を理解しよう」という,予習→実践→復習の3つのプロセスを踏むことによって,Rubyの基礎をしっかり,かつやさしく身に付けることができます。練習問題で理解度が測定できます。WindowsとmacOS両対応です。

こんな方におすすめ

  • 未経験からプログラミングに入門したい人
  • Rubyを初めて学ぶ人
  • Ruby on Railsなど将来実務でRubyを使いたい人

サンプル

目次

第0章 環境を構築しよう

  • 0-1 Rubyをインストールしよう

第1章 Ruby の世界へようこそ!

  • 1-1 プログラミングを学ぼう
  • 1-2 プログラミング言語Rubyの特徴を理解しよう
  • 1-3 プログラムの実行方法を学ぼう
  • 1-4 Rubyを対話的に動作させよう
  • 練習問題

第2章 プログラムの基本とデータを理解する

  • 2-1 プログラムの構成を理解しよう
  • 2-2 データの基本・数値と文字列を理解しよう
  • 2-3 変数に代入してデータを扱いやすくしよう
  • 2-4 データを演算しよう
  • 練習問題

第3章データのまとまりを扱う

  • 3-1 配列で複数のデータをまとめよう
  • 3-2 ハッシュでデータに名前を付けてまとめよう
  • 3-3 データのまとまりを効率的に書こう
  • 練習問題

第4章 条件に応じてプログラムの処理を変える

  • 4-1 条件分岐を理解しよう
  • 4-2 複数の条件で最適な処理を選ぼう
  • 4-3 条件分岐の特別な書き方を使おう
  • 練習問題

第5章 繰り返し処理する

  • 5-1 好きな回数処理を繰り返そう
  • 5-2 必要な分だけ処理を繰り返そう
  • 5-3 条件に応じて処理を繰り返そう
  • 5-4 その他の繰り返し処理を学ぼう
  • 5-5 複数の要素を処理しよう
  • 練習問題

第6章 メソッドで処理する

  • 6-1 メソッドへの理解を深めよう
  • 6-2 メソッドの分類について学ぼう
  • 6-3 メソッドを自作しよう
  • 6-4 特殊な引数の処理を定義しよう
  • 練習問題

第7章 クラスでプログラムをまとめる

  • 7-1 クラスとオブジェクトを理解しよう
  • 7-2 クラスの書き方を学ぼう
  • 7-3 クラスのメソッドの種類を学ぼう
  • 7-4 クラスの変数を使ってみよう
  • 7-5 クラス内のデータを読み書きしよう
  • 7-6 クラスを継承しよう
  • 練習問題

第8章 エラー処理と例外をプログラミングする

  • 8-1 色々な例外を確認しよう
  • 8-2 発生した例外をつかまえよう
  • 8-3 例外を発生させよう
  • 練習問題

第9章 モジュールやライブラリを活用する

  • 9-1 モジュールの書き方を学ぼう
  • 9-2 標準ライブラリを使おう
  • 9-3 ライブラリを活用しよう
  • 練習問題

第10章 実践的なプログラミングに挑戦する

  • 10-1 ファイルを操作しよう
  • 10-2 正規表現で文字列を置き換えよう
  • 10-3 ファイルを書き換えよう
  • 練習問題

サポート

ダウンロード

(2019年6月11日更新)

本書で使用しているサンプルファイルは,以下のリンクからダウンロードできます。

ダウンロード
サンプルファイル

正誤表

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

(2018年12月26日最終更新)

P.115 # 5-3の「理解」のwhile式の構文解説箇所

ずっと条件式がtrueにならない場合
ずっと条件式がfalseにならない場合

P.123 # 5-4の「体験」の手順11の説明

loopメソッドを使ったプログラムをirbで実行する
loopメソッドを使ったプログラムを保存する

(2018年10月9日最終更新)

P.74 # 3-3の「理解」の「式の展開をする%Wと%I」中の解説例

不要な「,」を記載した例を記述していました。


a=%I(#{'b'+'c'}, #{'d'+'e'})


a=%I(#{'b'+'c'} #{'d'+'e'})


(以下2018年6月18日更新)

P.204 問題2のコード

class TaxCalc
  attr_accessor :price

  def initialize(tax_rate: 0.08)
    raise ArgumentError, [ 1 ] if tax_rate < 0.08
  end

  def tax_included
    tax = (price * tax_rate).to_i
    price + tax
  end
end

begin
  calculator = TaxCalc.new(tax_rate: 0.08)
  calculator.price = 100
  p calculator.tax_included
[ 2 ] =>e
  p [ 3 ]
  raise
end
class TaxCalc
  attr_accessor :price
  def initialize(tax_rate: 0.08)
    raise ArgumentError, [ 1 ] if tax_rate < 0.08
    @tax_rate = tax_rate
  end
  def tax_included
    tax = (price * @tax_rate).to_i
    price + tax
  end
end

begin
  calculator = TaxCalc.new(tax_rate: 0.08)
  calculator.price = 100
  p calculator.tax_included
[ 2 ] =>e
  p [ 3 ]
  raise
end

(2018年4月23日更新)

P.117 条件に応じて処理を繰り返そう

1秒間何も実行せずに期待する
1秒間何も実行せずに待機する

P.138 6-1の「体験」の手順4の実行結果

1
4

補足情報

(2019年6月11日更新)

FacebookのAPI変更により,9章3節のコードが動作しなくなっています。
代わりに,同じようにWeb APIを利用するサンプルコードをサンプルファイルとして掲載いたします。
参考としてください。


require 'open-uri'
require 'json'
require 'openssl' # httpsのURLを利用するのに必要

# httpsのURLを利用するときの証明書の検証を回避。本来は望ましくない。
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE # 実際のプロジェクトでは用いないこと。

# 検索ワードを渡してWikipediaで検索するクラス
class WikipediaSearcher
  # Wikipediaの検索用URL
  BASE_URL = 'https://en.wikipedia.org/w/api.php?format=json&action=query&list=search&srsearch=' # srsearchの後に検索ワードを指定
  # search_wordで検索したい語を指定する
  def initialize(search_word)
    @request_url = BASE_URL + search_word
  end

  def search
    # APIにアクセス
    response = open(@request_url).read

    # JSON形式のテキストをハッシュに変換
    hash = JSON.parse(response)

    # 検索結果の中ではじめにヒットしたものを表示。
    hash['query']['search'][0] # 検索結果を一覧で表示したい場合は[0]を省略。
  end
end

searcher = WikipediaSearcher.new('ruby') # rubyで検索する
p searcher.search

商品一覧