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

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

ダウンロード

(2019年6月11日更新)

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

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

補足情報

(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

お詫びと訂正(正誤表)

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

(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