Rubyは、日本のまつもとゆきひろ氏が考案、開発したプログラミング言語です。日本発ということもあり、公式ドキュメントやコミュニティなど、日本語で書かれた情報が沢山ある点もRubyの魅力の一つです。
本記事では、プログラム言語であるRubyを使って作れるものの紹介と、Rubyの基本的な文法を解説します。
- RubyはRuby on Railsフレームワークと組み合わせると、効率的にウェブアプリケーション開発ができる
- クラウド(Cloud9)または、ロールカル環境で開発が可能
- RubyでHello World他のサンプルコード紹介
目次
RubyはWebアプリケーションが素早く作れる
Rubyと言えばWebアプリケーション開発と言ってもいいくらい、Rubyの開発で最も使われています。実際は、Rubyだけでなく「Ruby on Rails」というフレームワークと合わせて開発を行なっていきます。
Rubyを採用する企業は増えてきていますが、そのほとんどが「Ruby on Rails」を使ったWebアプリケーション開発を行なっています。「Ruby on Rails」は、他のプログラム言語より素早くWebサイトや業務システムが開発できます。
Rubyを学習する場合は、合わせて「Ruby on Rails」を習得しておくと、Rubyエンジニアとして活躍の場が広がるでしょう。
【関連記事】
▶【Ruby入門】Ruby on Railsをやってみよう!
あの有名サービスも使っているRuby
Rubyで開発された代表的な人気サービスを5つ紹介します。実は皆さんが知っているあのサービスは、Rubyで開発されています。
食べログ
ユーザーの口コミ・写真をもとに、様々なジャンルの人気のレストランを探せる、月間約1億1,917万人以上が利用する日本最大級のグルメサイトです。
クックパッド
日本最大の料理レシピサービスです。314万品を超えるレシピ、作り方を検索できます。5500万人を超える利用者がいると言われています。自分のお料理レシピを公開することもできます。
Gunosy(グノシー)
「グノシー」や「ニュースパス」等の、情報キュレーションサイトです。国内外のさまざまなメディアの記事を、分かりやすくまとめたキュレーションサイトです。
Airbnb
Airbnbは、空き部屋や宿泊施設を貸したい人と、部屋を借りたい人をつなぐマッチングサービスです。サービスが利用できる国は190ヶ国以上で、利用者は2億人を超えると言われています。
hulu
定額で映画やドラマ・アニメが見放題になる、動画配信サービスです。動画配信にもRubyの技術が使われています。
Rubyには向いていないもの
RubyはWindows/Linux/Macの各OSで環境で動き、さらにWebアプリケーション以外にもスクレイピングやゲーム開発などもできる汎用性が高いプログラム言語です。しかし、以下の分野においてはRubyが苦手としています。
スマホアプリ
iPhoneであればSwift、AndroidではJavaの方がアプリ開発に特化しています。スマホアプリの開発者を目指している場合は、Swift、Javaを学習することを推奨します。
機械学習(AI)
機械学習(AI)の分野ではPythonが先行しています。Rubyは機械学習で使えるツールが極めて少ないため、この分野を目指している場合は、Pythonを学習することを推奨します。
- RubyはWebアプリケーションが素早く作れる
- Rubyと合わせてRuby on Railsも学習すると良い
- 膨大なユーザー数を誇る有名なサービスでもRubyは活躍している
- スマホアプリ・機械学習にはRubyは向かない
Rubyの開発環境を作ってプログラミングを始めよう
Rubyの開発環境を作って実際に動かしてみましょう。Rubyの開発では、オンライン上で開発する方法と、ローカル上のPCで開発する方法の2つの方法があります。Rubyの開発をすぐに試してみたい場合は、手っ取り早く開発できるオンライン上での開発がおすすめです。
オンライン上で開発する(Cloud9)
AWS(Amazon Web Services) Cloud9はブラウザーから使える、クラウド型の統合開発環境(IDE)です。Chromeなどのブラウザーがあれば、Rubyの開発がすぐに始められます。
有償のサービスですが、アカウント登録から1年間は無料で使えるため、Rubyの開発を試すだけであれば無料で始められます。
ローカル開発環境を構築する
ローカル開発環境とは、自分のパソコン上にRubyを動作させるために必要なツールをインストールし、そこで開発を行うことです。
ローカル開発環境の構築方法については、次の記事で解説していますのでご覧ください。
【関連記事】
▶【Ruby入門】環境構築(Mac/Win)
Ruby開発者への第一歩!Rubyの基本の文法を抑えよう
ここからは、Rubyの基本的な文法を紹介します。
Rubyで「Hello World」を作ろう
まずは、どのプログラム言語でも最初に学習する、画面上に「Hello World」の文字を出力するプログラムを作ってみましょう。Rubyでは次のように書きます。
print "Hello World"
コンソールに文字を出力するには、Rubyではprint関数を使用します。また、print関数は省略して書くことができるため、上のプログラムは次のように簡潔に書くこともできます。
p "Hello World"
Rubyの四則演算
Rubyで数値の四則演算を行なう方法は、以下の通りです。
10 + 5 #加算 10 - 5 #減算 10 * 2 #乗算 10 / 2 #除算
四則演算の他に除算の余り求める演算子や、べき乗を求める演算子もあります。
剰余
5 % 3 #=>2
べき乗
10 ** 2 #=>100
Rubyの変数
Rubyにおける変数とは、プログラムで使用する値を入れる箱のようなものです。変数を宣言するための構文は次の通りです。
変数名 = オブジェクト
では、実際に変数を使ったプログラムを作ってみましょう。次のサンプルコードは、ある数字を乗算した結果を変数に代入し、変数の内容をp関数でコンソールに出力しています。
ret = 3 * 5 p ret
多重代入
Rubyの変数には多重代入という仕様があり、複数の変数に値を一括で代入することができます。以下の例ではxに”apple”、yに”grape”、zに”melon”を代入する処理を1行で記述しています。
x, y, z = "apple", "grape", "melon"
Rubyの条件分岐
プログラムは基本的に、コードの上から記述した順に処理が実行されます。ただ、ある条件の時だけ処理を実行したいなど、処理の流れを分岐したいケースもあります。Rubyでは「if」文を用いて処理を分岐します。
次のサンプルコードは、年齢(age)が20才以上の時だけ「if」文の中の処理を実行するコードです。
if age >= 20 then p "あなたは20才以上です。" end
条件に合わなかった時の処理も行いたい場合は、「if 〜 else」を使います。
if age >= 20 then p "あなたは20才以上です。" else p "あなたは20才未満です。" end
複数の条件で処理を分岐したい場合は「if 〜 elsif 〜 else」を使います。
if age >= 60 then p "あなたは60才以上です。" elsif age >= 20 then p "あなたは20才以上です。" else p "あなたは20才未満です。" end
ステップアップ
Rubyには多くの機能があり、突き詰めると奥が深いプログラム言語です。もっとRubyのことを知りたい方は、以下の記事も参考にしてください。
繰り返し
指定した回数やある条件が一致している間、同じ処理を実行するには繰り替えし構文を使います。
【関連記事】
▶【Ruby入門】Rubyの繰り返しを極める!様々な繰り返しのバリエーション
クラス
Rubyはオブジェクト指向言語です。オブジェクト指向の代表格であるクラスの概念について理解しましょう。
【関連記事】
▶【Ruby入門】クラスをコーディング(1) classを作る
▶【Ruby入門】クラスをコーディング(2) オブジェクト指向
ブロック
Rubyを使う上で重要な概念である 「ブロック」について理解しましょう。
【関連記事】
▶【Ruby入門】ブロック
メソッド
メソッドとは、処理をまとめて外部から利用できるようにしたものです。以下の記事ではRubyでのメソッドの作り方や、呼び出し方法について解説しています。
【関連記事】
▶【Ruby入門】メソッド
プログラミングスクールのポテパンキャンプでは、未経験からRubyを学べるエキスパートコースが用意されています。
まとめ
Rubyを学ぶと作れるものの紹介や、Rubyの基本的な文法について紹介してきました。現在のRubyはWebアプリケーション開発に主に使われていますが、Amazonが運営するAWS LambdaでもRubyが使えるようなったり、Web以外でも活躍の場を広げています。この機会にRubyを学習してみては如何でしょうか。
Rubyでは複数の条件を指定する場合、elsifで指定します。JavaやC言語などでは、else ifで複数の条件を指定します。このように、プログラミング言語によって微妙な違いがあるため注意しましょう。