初めてのプログラミング 第2版

[cover photo]
TOPICS
Programming , Ruby
発行年月日
PRINT LENGTH
232
ISBN
978-4-87311-469-9
原書
Learn to Program, Second Edition
FORMAT
PDF
Ebook
2,200円
Ebookを購入する

初めてプログラミングを学ぶ入門者を対象に、プログラミングの基礎をていねいに解説した書籍。教材には、誰でもどんな環境でも気軽に使えるRubyを使い、実際に簡単なコードを書きながら理解を深めます。
プログラミングとは何かを無理なく理解してもらうために、要点をひとつひとつていねいに解説。簡単な概念から始めて、かなり高度なプログラミングの知識まで身に付けることができます。プログラミングを学ぶなら、本書は最初の1冊に最適な入門書です。

正誤表

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

第1刷に対する正誤表

P.19 2番目のコード
【誤】
  puts 'You?'re swell!'
  puts '文字列の最後のバックスラッシュ: \\'
  ...

【正】
  puts 'You\'re swell!'
  puts '文字列の最後のバックスラッシュ: \\'
  ...

P.29 1番目のコード
【誤】
  puts 'こんにちは、あなたのお名前は?'
  puts 'あなたは' + name + 'さんですね? すばらしいお名前ですね!'
  puts 'お会いできて光栄です。' + name + 'さん。:)'

【正】
  puts 'こんにちは、あなたのお名前は?'
  name = gets
  puts 'あなたは' + name + 'さんですね? すばらしいお名前ですね!'
  puts 'お会いできて光栄です。' + name + 'さん。:)'

P.29 2番目のコード
【誤】
  puts 'こんにちは、あなたのお名前は?'
  puts 'あなたは' + name + 'さんですね? すばらしいお名前ですね!'
  puts 'お会いできて光栄です、' + name + 'さん。:)'

【正】
  puts 'こんにちは、あなたのお名前は?'
  name = gets.chomp
  puts 'あなたは' + name + 'さんですね? すばらしいお名前ですね!'
  puts 'お会いできて光栄です、' + name + 'さん。:)'

P.38 コード例の先頭に次の行を追加
【正】
  line_width = 50
  puts('ハバードばあさん、おばあさん' .center(line_width))
  ...

P.41 コードの実行例から下記を削除
【誤】
  3
  3
  Report

【正】
  3
  3

P.48 2番目のコード例に下記を追加
【誤】
  puts '占いをしてほしい? 名前を言いなさい。'

  if name == 'クリス'
    ...

【正】
  puts '占いをしてほしい? 名前を言いなさい。'
  name = gets.chomp

  if name == 'クリス'
    ...

P.115 下から3行目
【誤】
  Integerを使っ

【正】
  Integer.newを使っ

目次

第2版への序文
第1版への序文
イントロダクション

1章 始めよう
    1.1 Windows
    1.2 Mac OS X
    1.3 Linux

2章 数値
    2.1 動きましたか?
    2.2 puts入門
    2.3 整数と浮動小数点数
    2.4 単純な算数
    2.5 練習問題

3章 文字
    3.1 文字列の算数
    3.2 12と'12'
    3.3 問題発生

4章 変数と代入

5章 変換による相互乗り入れ
    5.1 変換
    5.2 puts再発見
    5.3 getsメソッド
    5.4 getsは使えましたか?
    5.5 chompメソッド
    5.6 練習問題
    5.7 変数のケア

6章 メソッドの詳細
    6.1 文字列の面白いメソッド
    6.2 練習問題
    6.3 もっと高級な数学
    6.4 その他の算術演算
    6.5 乱数
    6.6 Mathオブジェクト

7章 フロー制御
    7.1 比較メソッド
    7.2 条件分岐
    7.3 ループ
    7.4 論理計算を少し
    7.5 練習問題

8章 配列とイテレータ
    8.1 eachメソッド
    8.2 その他の配列メソッド
    8.3 練習問題

9章 自作メソッドの書き方
    9.1 メソッドの引数
    9.2 ローカル変数
    9.3 実験:Duby
    9.4 戻り値
    9.5 練習問題

10章 章全部で復習
    10.1 再帰
    10.2 通過儀礼としてのソート
    10.3 練習問題
    10.4 サンプルをもう1つ
    10.5 練習問題の続き

11章 読み書き、セーブとロードといったこと
    11.1 何かをする
    11.2 コンピュータについてのある重大な事実
    11.3 大人のためのロード、セーブ講座
    11.4 YAML
    11.5 ちょっと寄り道:ダブルクォート文字列
    11.6 バックトゥー日常のプログラミング
    11.7 写真ファイルの名前の変更
    11.8 練習問題

12章 新しいクラスのオブジェクト
    12.1 Timeクラス
    12.2 練習問題
    12.3 Hashクラス
    12.4 Rangeクラス
    12.5 文字列の強力な機能
    12.6 練習問題の続き
    12.7 クラスとClassクラス

13章 新しいクラスの作成と既存クラスの変更
    13.1 練習問題
    13.2 クラスの作り方
    13.3 インスタンス変数
    13.4 newとinitialize
    13.5 ベビードラゴンゲーム
    13.6 練習問題の続き

14章 ブロックとproc
    14.1 procを取るメソッド
    14.2 procを返すメソッド
    14.3 メソッドの引数としてのブロック(procではなく)
    14.4 練習問題

15章 この本を読んだ後で
    15.1 irb:インタラクティブRuby
    15.2 ピッケル本:『プログラミングRuby』
    15.3 ruby-talk:Rubyユーザーのメーリングリスト
    15.4 ティムトアディ
    15.5 終わりに

付録A 解答例
    A.1 「2.5 練習問題」
    A.2 「5.6 練習問題」
    A.3 「6.2 練習問題」
    A.4 「7.5 練習問題」
    A.5 「8.3 練習問題」
    A.6 「9.5 練習問題」
    A.7 「10.2 通過儀礼としてのソート」
    A.8 「10.3 練習問題」
    A.9 「10.5 練習問題の続き」
    A.10 「11.8 練習問題」
    A.11 「12.2 練習問題」
    A.12 「12.6 練習問題の続き」
    A.13 「13.1 練習問題」
    A.14 「13.6 練習問題の続き」
    A.15 「14.4 練習問題」
索 引