Rubyの基礎を初心者向けに徹底解説!元ぼっち大学生のフリーランスエンジニアがおすすめの本を紹介しつつ詳しく説明します
今回はプログラミング初心者のぼっち大学生のみなさんに向けて、大学ぼっち時代にプログラミングを学び始め、在学中にフリーランスエンジニアとして独立した経歴を持つ僕が、Rubyの基礎知識について、できるだけ分かりやすく解説していきます。Ruby初心者におすすめの本も何冊か紹介しますので、興味のあるぼっち大学生はぜひ一度読んでいってください。
たっちゃん
ぼっちユニバーシティの運営者です。
大学ぼっち時代にプログラミングを学び始め、在学中にフリーランスのWebエンジニアとして独立。
本業はWebアプリケーションやWebサイトの受託開発がメインですが、最近はFlutterにハマっています。
趣味はバックパッカー旅行と立ち飲み屋さん巡り。
現在は都内でひとり法人を経営しながら、現役のぼっち大学生のみなさんへお役立ち情報を発信しています。
0. はじめに
ぼっち大学生のみなさんこんにちは!
今回は、プログラミング初心者のぼっち大学生の皆さんと一緒に、人気のプログラミング言語の1つであるRubyの基礎知識について、しっかりと学んでいきたいと思います。
1. Rubyってなに?
Rubyは、コンピューターとお話しするために使う言葉のひとつで、プログラミング言語と呼ばれます。
Rubyは、簡単に書けて読みやすいのが特徴です。
これから、Rubyの概要やその特徴、どんなシーンでよく使われるのかについてお話していきますね。
1-1. Ruby言語の概要
ご存じのぼっち大学生のみなさんも多いかとは思いますが、今回紹介するRubyは、日本のまつもとゆきひろさんによって開発されたプログラミング言語です。
Matzの通り名で知られるまつもとゆきひろさんは、幼少期からプログラミングに親しみ、なんと大学時代には既にRubyの概念を思いついていたとのこと。
少し話が逸れますが、プログラミングを学ぶと、まつもとゆきひろさん含め、世界中の天才たちが開発した言語やパッケージが、基本的には無料で利用できることに気づきます。
自戒も込めて、常にそのような天才たちが作った素晴らしい技術を、当たり前のように無料で使えているという事実を忘れてはいけませんね。
1-2. Rubyの特徴や使われる場面
1-2-1. シンプルな文法
Rubyの文法はとてもシンプルで、読みやすいのが特徴です。
例えば、数字を足すプログラムを書くとき、こんなふうに書けます。
answer = 3 + 5
puts answer
このプログラムは、3と5を足して、答えを表示します。短くて分かりやすいですね。
1-2-2. オブジェクト指向
Rubyは、「オブジェクト指向」という考え方を使っています。
オブジェクト指向とは、プログラムをたくさんの小さなパーツ(オブジェクト)に分けて作る方法です。
それぞれのオブジェクトが、自分の仕事をすることで、全体のプログラムができあがります。
オブジェクト指向を使うと、プログラムがきれいにまとまって、読みやすくなります。
1-2-3. 使用例
Rubyは、いろいろな場面で使われます。
例えば、ウェブサイトを作ったり、コンピューターの中でいろいろな処理をしたり、ゲームを作ったりできます。
また、RubyはRailsというフレームワークと一緒に使われることが多く、ウェブアプリケーションを作るのに便利です。
これから、Rubyの魅力をたくさん学んで、プログラミングを楽しんでくださいね。
2. Rubyの環境構築
Rubyを使ってプログラムを書くためには、まず、ぼっち大学生のみなさんのパソコンにRubyを入れる必要があります。
これを「環境構築」と言います。
また、Rubyを書くためのお手伝いをしてくれるソフトも入れると何かと便利です。
では、順番に見ていきましょう。
2-1. 必要なソフトウェアのインストール方法
2-1-1. Rubyのインストール
Rubyをインストールする方法は、パソコンの種類によって違います。
Windowsの場合は、「RubyInstaller」を使ってRubyを入れましょう。
Macの場合は、「Homebrew」を使ってRubyを入れましょう。
インターネットで「Rubyインストール」と検索すれば、たくさんの説明が出てきます。
それに沿って、Rubyをインストールしてくださいね。
2-1-2. 関連ツールのインストール
Rubyを使ってプログラムを書くためには、他にもいくつかのお手伝いソフトが必要です。
例えば、「Bundler」や「Rails」などです。
これらは、「gem」という仕組みでインストールします。
Rubyをインストールした後、次のように打ち込んで、お手伝いソフトを入れてください。
gem install bundler
gem install rails
2-2. エディタの選び方と設定
2-2-1. おすすめのエディタ
プログラムを書くときに使うソフトを「エディタ」と言います。
おすすめのエディタは、「Visual Studio Code」や「Atom」、「Sublime Text」などです。
これらは、無料で使えて、機能がたくさんあります。
インターネットで検索して、好きなエディタを選んでインストールしましょう。
2-2-2. エディタの設定方法
エディタには、たくさんの設定ができます。
例えば、Rubyを書くのに便利な機能を追加したり、見た目を変えたりできます。
エディタのホームページや、インターネットで検索して、自分に合った設定を見つけてみましょう。
これで、Rubyの環境構築ができました。おめでとうございます!
これから、たくさんのプログラムを書いて、楽しんでくださいね。
3. Rubyの基本文法
プログラムを書くためには、Rubyの文法を覚える必要があります。
文法とは、言葉のルールのようなものです。
Rubyの文法を覚えて、いろいろなプログラムを書いてみましょう。
3-1. 変数とデータ型
3-1-1. 変数の宣言と代入
変数は、プログラムで使うデータを入れる箱のようなものです。
変数には、名前をつけてデータを入れます。
例えば、こんなふうに書けます。
name = "たろう"
age = 10
これは、“たろう”という名前を持つデータを「name」という変数に入れて、10という年齢を持つデータを「age」という変数に入れています。
3-1-2. 数値、文字列、真偽値
データには、いろいろな種類があります。
数値は、数字です。
文字列は、言葉です。
真偽値は、正しいか間違いかを表すデータです。
例えば、こんなふうに書けます。
number = 5
text = "こんにちは"
is_happy = true
3-2. 条件分岐(if文、case文)
3-2-1. if文の基本構造
if文は、条件が正しいときに、ある処理をするための文法です。
例えば、こんなふうに書けます。
age = 10
if age >= 6
puts "小学生です"
end
これは、年齢が6歳以上のとき、“小学生です”と表示するプログラムです。
3-2-2. case文の基本構造
case文は、条件に合った処理を選ぶための文法です。
例えば、こんなふうに書けます。
age = 10
case age
when 0..5
puts "幼児です"
when 6..12
puts "小学生です"
else
puts "それ以外です"
end
これは、年齢によって表示する言葉を変えるプログラムです。
3-3. 繰り返し処理(for文、while文)
3-3-1. for文の基本構造
for文は、同じ処理を繰り返すための文法です。
例えば、こんなふうに書けます。
for i in 1..5
puts i
end
これは、1から5までの数字を順番に表示するプログラムです。
3-3-2. while文の基本構造
while文も、同じ処理を繰り返すための文法ですが、ある条件が満たされている間だけ繰り返します。
例えば、こんなふうに書けます。
count = 1
while count <= 5
puts count
count = count + 1
end
これは、 count が 5以下の間、 count を表示して、 count に1を足す処理を繰り返すプログラムです。
3-4. 配列とハッシュ
3-4-1. 配列の使い方
配列は、いくつかのデータを順番に並べたものです。
配列は、こんなふうに書けます。
fruits = ["りんご", "みかん", "ぶどう"]
puts fruits[0] # "りんご"と表示されます
これは、果物の名前が入った配列を作り、最初の果物を表示するプログラムです。
3-4-2. ハッシュの使い方
ハッシュは、キーと値をペアにしてデータを保管するものです。
ハッシュは、こんなふうに書けます。
scores = {"たろう" => 80, "はなこ" => 90, "ジョン" => 70, "マイケル" => 50, "アンダーソン" => 100, "ジョニー" => 40, "ロブ" => 30}
puts scores["たろう"] # 80と表示されます
これは、名前と点数をペアにしたハッシュを作り、“たろう”の点数を表示するプログラムです。
3-5. 関数とメソッド
3-5-1. 関数の定義と呼び出し
関数は、ある処理をまとめて名前をつけたものです。
関数を使うと、同じ処理を繰り返し書かなくて済みます。
関数は、こんなふうに書けます。
def greet(name)
puts "こんにちは、#{name}さん"
end
greet("たろう") # "こんにちは、たろうさん"と表示されます
これは、名前を渡すと挨拶を表示する関数を作り、“たろう”に挨拶するプログラムです。
3-5-2. メソッドの定義と呼び出し
メソッドは、オブジェクトに属する関数のようなものです。
メソッドは、こんなふうに書けます。
class Person
def initialize(name)
@name = name
end
def greet
puts "こんにちは、#{@name}さん"
end
end
person = Person.new("たろう")
person.greet # "こんにちは、たろうさん"と表示されます
これは、人物を表すオブジェクジェクトを作り、その人物に挨拶するメソッドを作るプログラムです。
ここでは、「Person」というクラスを作って、名前を持たせる機能と、挨拶する機能を定義しています。
そして、「たろう」という名前の人物を作り、挨拶をさせています。
これで、Rubyの基本文法についての解説を終わります。
これらの文法を覚えて、実際にプログラムを書いてみましょう。
最初は難しいかもしれませんが、練習すればすぐに上手になります。
楽しくプログラミングを学んでください。
4. オブジェクト指向プログラミングとは?
オブジェクト指向プログラミングは、現実の物や事象を「オブジェクト」として扱い、それらの関係や働きをプログラムで表現する方法です。
オブジェクト指向を使うと、プログラムがわかりやすくなり、変更や追加がしやすくなります。
4-1. クラスとインスタンスの理解
4-1-1. クラスの定義方法
クラスは、オブジェクトの設計図のようなものです。
クラスを作ると、その設計図に基づいたオブジェクトが作れます。
例えば、こんなふうに書けます。
class Dog
def bark
puts "わんわん"
end
end
これは、「Dog」というクラスを作って、その中に「bark」というメソッドを定義しています。
4-1-2. インスタンスの生成と利用
インスタンスは、クラスから作られたオブジェクトのことです。
インスタンスを使って、メソッドを呼び出すことができます。
例えば、こんなふうに書けます。
pochi = Dog.new
pochi.bark # "わんわん"と表示されます
これは、「Dog」というクラスから「pochi」というインスタンスを作り、そのインスタンスで「bark」メソッドを呼び出しています。
4-2. 継承とポリモーフィズム
4-2-1. クラスの継承方法
継承は、あるクラスの特徴や機能を別のクラスに引き継ぐことです。
継承を使うと、似たようなクラスを効率よく作れます。
例えば、こんなふうに書けます。
class Animal
def speak
puts "何かしゃべる"
end
end
class Cat < Animal
def speak
puts "にゃーん"
end
end
これは、「Animal」というクラスを作り、その下に「Cat」というクラスを作って、継承させています。
4-2-2. メソッドのオーバーライドとポリモーフィズム
オーバーライドは、親クラスのメソッドを子クラスで上書きすることです。
ポリモーフィズムは、異なるクラスのオブジェクトでも同じメソッド名で動作ができる性質のことです。
これらを使うと、コードがシンプルになり、柔軟に対応できます。
例えば、こんなふうに書けます。
class Animal
def speak
puts "何かしゃべる"
end
end
class Cat < Animal
def speak
puts "にゃーん"
end
end
class Dog < Animal
def speak
puts "わんわん"
end
end
animals = [Cat.new, Dog.new]
animals.each do |animal|
animal.speak
end
これは、「Animal」というクラスを作り、その下に「Cat」と「Dog」というクラスを作って、継承させています。
そして、それぞれのクラスで「speak」メソッドをオーバーライドしています。
最後に、異なるクラスのインスタンスを同じ配列に入れて、同じメソッド名で呼び出しています。
これがポリモーフィズムです。
これで、オブジェクト指向プログラミングについての解説を終わります。
オブジェクト指向を理解して、Rubyで効率的なプログラムを書くことができるようになりましょう。
最初は難しいかもしれませんが、実際にプログラムを書いてみると、だんだんと理解が深まるはず!
5. Rubyのライブラリとgem
Rubyには、たくさんの便利な機能が詰まったライブラリがあります。
これらのライブラリを使うことで、プログラムを簡単に作れます。
また、 gem という仕組みを使って、他の人が作ったライブラリも簡単に利用できます。
5-1. 標準ライブラリの使い方
標準ライブラリは、Rubyに最初から入っているライブラリです。
いろいろな機能がありますが、ここでは日付・時刻操作とファイル・ディレクトリ操作について説明します。
5-1-1. 日付・時刻操作
日付や時刻を操作するには、「Date」と「Time」クラスを使います。
例えば、こんなふうに書けます。
require 'date'
today = Date.today
puts "今日は #{today} です"
now = Time.now
puts "今の時刻は #{now} です"
これは、「Date」と「Time」クラスを使って、今日の日付と今の時刻を表示しています。
5-1-2. ファイル・ディレクトリ操作
ファイルやディレクトリを操作するには、「File」と「Dir」クラスを使います。例えば、こんなふうに書けます。
file_name = "sample.txt"
File.open(file_name, "w") do |file|
file.puts "Hello, Ruby!"
end
Dir.mkdir("my_directory")
puts "ディレクトリを作りました"
これは、「File」クラスを使ってファイルを作り、文字を書き込んでいます。
そして、「Dir」クラスを使って、ディレクトリを作っています。
5-2. gemのインストールと利用方法
5-2-1. gemとは?
gem は、Rubyで使えるライブラリのパッケージのことです。
gem を使うと、他の人が作った便利な機能を簡単に利用できます。
5-2-2. gemのインストール方法
gem をインストールするには、コマンドラインで次のように入力します。
gem install [gem名]
例えば、「httparty」というgemをインストールするには、次のように入力します。
gem install httparty
5-2-3. インストールしたgemの利用方法
インストールした gem を使うには、プログラムの先頭で「require」を使って読み込みます。
例えば、こんなふうに書けます。
require 'httparty'
response = HTTParty.get('https://api.example.com/data')
puts response.body
これは、「httparty」 gem を使って、ウェブサイトからデータを取得して、その内容を表示しています。
これで、Rubyのライブラリと gem についての解説を終わります。
ライブラリや gem を上手に使うことで、簡単に便利なプログラムを作ることができます。
たくさんのライブラリや gem があるので、自分の目的に合ったものを見つけて、効率的にプログラミングしましょう。
また、自分で gem を作ってみるのも面白いかもしれませんね。
いろいろ試して、楽しく学んでください。
6. Rubyでのファイル操作
Rubyでファイルやディレクトリを操作する方法を学びましょう。
これができると、たとえばデータを保存したり、他のプログラムと情報をやり取りすることができます。
6-1. ファイルの読み書き方法
ファイルを読んだり書いたりするには、「File」クラスを使います。
まずはファイルのオープンとクローズから学びましょう。
6-1-1. ファイルのオープンとクローズ
ファイルを開くには、「File.open」を使います。
そして、使い終わったら「close」で閉じます。こんなふうに書けます。
file = File.open("example.txt", "r")
# ファイルを使う処理を書く
file.close
6-1-2. ファイルの読み込み
ファイルから内容を読み込むには、「read」や「readlines」を使います。
例えば、こんなふうに書けます。
file = File.open("example.txt", "r")
content = file.read
puts content
file.close
また、「readlines」を使うと、行ごとに配列で読み込めます。
file = File.open("example.txt", "r")
lines = file.readlines
puts lines
file.close
6-1-3. ファイルへの書き込み
ファイルに書き込むには、「write」や「puts」を使います。
例えば、こんなふうに書けます。
file = File.open("example.txt", "w")
file.write("Hello, Ruby!")
file.close
「puts」を使うと、自動的に改行が入ります。
file = File.open("example.txt", "w")
file.puts("Hello, Ruby!")
file.close
6-2. ディレクトリ操作
ディレクトリを操作するには、「Dir」クラスを使います。
ここでは、ディレクトリの作成・削除と、移動・リネームの方法を学びましょう。
6-2-1. ディレクトリの作成と削除
ディレクトリを作るには、「mkdir」を使います。
削除するには、「rmdir」を使います。こんなふうに書けます。
Dir.mkdir("my_directory")
puts "ディレクトリを作りました"
Dir.rmdir("my_directory")
puts "ディレクトリを削除しました"
6-2-2. ディレクトリの移動とリネーム
ディレクトリの名前を変えるには、「rename」を使います。
また、ディレクトリを移動するには、「FileUtils」モジュールの「mv」を使います。
まずは「FileUtils」を読み込んで、次のように書くことができます。
require 'fileutils'
Dir.mkdir("old_directory")
puts "ディレクトリを作りました"
FileUtils.mv("old_directory", "new_directory")
puts "ディレクトリ名を変更しました"
これで、ディレクトリの名前が「old_directory」から「new_directory」に変わりました。
また、移動することもできます。
これで、Rubyでのファイル操作とディレクトリ操作についての説明を終わります。
これらの操作を使うことで、データを読み書きしたり、ディレクトリを整理するプログラムを作ることができます。
ぜひ、たくさんのプログラムを作って、ファイル操作とディレクトリ操作の方法を身につけてください。
7. エラーとデバッグ方法
プログラムを書いていると、エラーが起きることがあります。
エラーが起きたときにどう対処すればいいか、そして、どうやってエラーを見つけて修正するかを学びましょう。
7-1. よくあるエラーとその対処法
エラーにはいろいろな種類がありますが、ここでは、よくある「文法エラー」と「実行時エラー」について説明します。
7-1-1. 文法エラー
文法エラーは、プログラムの書き方が間違っているときに起きます。
例えば、こんなコードがあります。
puts "Hello, Ruby
このコードでは、ダブルクォーテーションが閉じられていないため、文法エラーが起きます。
エラーが起きたら、エラーメッセージをよく読んで、どこが間違っているかを見つけましょう。
そして、修正してください。
7-1-2. 実行時エラー
実行時エラーは、プログラムの文法は正しいけれど、実行中に問題が起きたときに発生します。
例えば、こんなコードがあります。
num = 10
result = num / 0
このコードでは、0で割ろうとしているため、実行時エラーが起きます。
エラーが起きたら、エラーメッセージをよく読んで、どの部分が問題かを見つけて修正しましょう。
7-2. デバッグの基本手順
デバッグとは、プログラムのエラーやバグを見つけて修正する作業です。
ここでは、デバッグの基本手順とツールについて説明します。
7-2-1. デバッグツールの紹介
Rubyでデバッグを行うときには、デバッガというツールを使うことができます。
デバッガは、プログラムの実行を一時停止させて、その時点での変数の値を調べたり、一行ずつ実行していくことができます。
これによって、エラーの原因を見つけやすくなります。
7-2-2. ブレークポイントとステップ実行
デバッガを使うときには、「ブレークポイント」と「ステップ実行」を使います。
ブレークポイントは、プログラムの実行を一時停止させたい場所に設定するものです。
ブレークポイントを設定した場所でプログラムが一時停止し、その時点での変数の値を見ることができます。
ステップ実行は、プログラムを一行ずつ実行する方法です。
ブレークポイントで一時停止した後、ステップ実行を使って、次の行に進みます。
これによって、どの行でエラーが起きているかを見つけることができます。
例えば、次のようなコードがあります。
def add(a, b)
result = a + b
return result
end
num1 = 10
num2 = "20"
answer = add(num1, num2)
puts answer
このコードでは、 add 関数の中で整数と文字列を足そうとしているため、実行時エラーが起きます。
デバッガを使って、ブレークポイントをadd関数の最初の行に設定し、ステップ実行を行うことで、どの行でエラーが起きているかを見つけることができます。
このように、エラーやバグがあるときは、エラーメッセージを読んで原因を見つけ、デバッグツールを使って問題を修正しましょう。
これで、プログラムが正しく動くようになります。
8. プログラミング初心者のぼっち大学生におすすめしたいRuby本を紹介します
まとめに入る前に、Ruby初心者のぼっち大学生のみなさんに、現役エンジニアの僕がおすすめしたい書籍を何冊か紹介しておきたいと思います。
8-1. スラスラ読める Rubyふりがなプログラミング
© インプレス
Ruby初心者のぼっち大学生にまず紹介したい書籍が、こちらの「スラスラ読める Rubyふりがなプログラミング」。
「プログラムの読み方をすべて載せる(ふりがなをふる)」という手法で究極のやさしさを目指した、まったく新しいRuby(ルビー)の入門書になります。
僕も今までに様々なRubyの解説書を見てきましたが、この「スラスラ読める Rubyふりがなプログラミング」より分かりやすさを追求した本は、現時点では存在しないと断言できます。
プログラミングって、最初のうちはなんとなく解説通りにコーディングしてみて、期待通りに処理が動作するところまではいいのですが、いざ自分が書いているコードの意味を深く考えてみると、実はよく理解できていないといった状態に陥ることが少なくないですよね?
しかし、「スラスラ読める Rubyふりがなプログラミング」では、Rubyで書かれたプログラムの読み方をすべて載せ、さらに漢文訓読の手法を取り入れ、読み下し文まで用意されています。
そのため、プログラムの1行1行が何を意味していて、どう動くのかがちゃんと理解できるようになっているんですね。
これによって、プログラミング初心者が陥りがちな、
「プログラムが読めないから、自分がいま何をしているのかわからない」
といった状態を避けながら、着実にRubyを学習することができるのです。
「スラスラ読める Rubyふりがなプログラミング」は、Rubyの学習に興味を持ったぼっち大学生のみなさんに、ぜひ手に取っていただきたい1冊となっております。
9-2. はじめてつくるWebアプリケーション 〜Ruby on Railsでプログラミングへの第一歩を踏み出そう
© 技術評論社
2冊目に紹介するのは、「はじめてつくるWebアプリケーション 〜Ruby on Railsでプログラミングへの第一歩を踏み出そう」になります。
こちらの書籍はRuby自体の解説本ではなく、Ruby製フレームワークのRuby on Railsを解説した本です。
なぜRuby on Railsを解説した書籍を紹介するかというと、Rubyを学んでWebアプリケーションの開発をしてみたいというぼっち大学生は、十中八九このRuby on Railsを使用することになるはずだからです。
「はじめてつくるWebアプリケーション 〜Ruby on Railsでプログラミングへの第一歩を踏み出そう」は、Rubyを学んだことがあるぼっち大学生はもちろんのこと、今まで全くプログラミングを学んだことがないというぼっち大学生にもおすすめできてしまう、これ以上ないくらい分かりやすい書籍となっております。
そのため、この「はじめてつくるWebアプリケーション 〜Ruby on Railsでプログラミングへの第一歩を踏み出そう」は、
- はじめてプログラミングを学ぶ
- これからRuby on RailsでWebアプリケーションを作ってみたい
- 以前にプログラミングの学習を試みたが挫折してしまった
ぼっち大学生に、ぜひおすすめしたい書籍と言えるでしょう。
9. まとめ
今回は、プログラミング初心者のぼっち大学生向けに、Rubyの基礎知識を解説させていただきました。
Ruby on Railsを使用したWebアプリケーション開発をするにあたって、当然ですが、Rubyの知識は必須となります。
そして、Rubyは、あらゆる学習プラットフォームや書籍、Webサイトなどで、初心者向けの学習コンテンツが多数提供されているプログラミング言語の1つでもあります。
例えば、ぼっち大学生のみなさんが独学でRubyを学ぶような場合も、学習のためのリソースに困ることはまず無いでしょう。
しかし、ぼっち大学生のみなさんは、サブスク型プログラミングスクールのSAMURAI TERAKOYA(侍テラコヤ)であれば、飲み会1回分ほどの費用で、Rubyをより効率的かつ確実に学ぶことが可能です。
SAMURAI TERAKOYA(侍テラコヤ)の詳細については、こちらの記事で解説していますが、
- 40種類以上に及ぶ学び放題の教材
- 平均回答スピード30分以内のQ&A掲示板
- 月1回〜の現役エンジニアとのオンラインレッスン
- プログラミング学習を継続できる学習ログ
を、月額2,980円〜という破格の料金で利用することができます。
Rubyの学習に興味があり、プログラミングスクールで学ぶことも視野に入れていたが、費用面がネックとなり、なかなか学習に手を付けられなかったというぼっち大学生のみなさんは、ぜひ一度このSAMURAI TERAKOYA(侍テラコヤ)に無料で相談してみてはいかがでしょうか?