クリエイティブ業界のお仕事情報ならCREATIVE JOB(クリエイティブジョブ)|求人・転職情報掲載

CREATIVE JOB

powered by CREATIVE VILLAGE

Ruby入門 – 初心者に向けて開発環境やサンプルの解説をします

2019/08/20

国産のプログラミング言語Rubyは、「書いて楽しい」をコンセプトに開発された、高い柔軟性を持つオブジェクト指向のスクリプト言語です。習得しやすく、さまざまなフレームワークやライブラリが充実しているため、初心者でも複雑なアプリ開発が楽しめるので、初めてプログラミングに触れる人におすすめされる言語の1つでもあります。

今回はRubyとは一体どんな言語なのか解説しながら、開発環境の構築とサンプルコードをご紹介していきます。

Rubyとは

オブジェクト指向のスクリプト言語Rubyは1995年にMatzこと、まつもとゆきひろ氏が開発しました。
国産で初めて国際電気標準会議(IEC)で国際規格に認証された言語であり、2018年のシェアでは11位と比較的シェア上位にある言語でもあります。
読みやすく書きやすい構文の構造をしており、まつもと氏は「Rubyの言語仕様策定において最も重視しているのはストレスなくプログラミングを楽しむことである 」と明言しています。「書いていて楽しい」をコンセプトに、柔軟性に富んだ自然言語としてデザインされているため、言語に対する知識がなくてもコードを見ると感覚的に内容を理解することができます。

競合言語はPerlやPythonです。特にPythonについては公式の用語集で「Matz(まつもと氏の通称)がPython に満足していればRubyは生まれなかったであろう」と言われており、Rubyは非常にPythonを意識して作られています。
Rubyの由来は登場時、最も競合していた言語であるPerlのパール(真珠)という響きに対してや、まつもと氏の誕生石などからと言われています。

整数や文字列なども含めすべてのデータ型がオブジェクトになっている純粋なオブジェクト指向言語であり、同時にスクリプト言語です。そのため、プログラミングに初めて触れる人でも他のオブジェクト指向言語よりも理解しやすく、初心者にとっては挫折しにくい言語でもあります。
Gosu(https://www.libgosu.org/)によるゲーム開発やRubyMotion(http://www.rubymotion.com/jp/)によるAndroid、iOSアプリ開発ができるなど、Web開発以外に対応できる点も特徴の1つと言えます。

プログラミングのデビューはRubyがおすすめな理由

Rubyはプログラミングに初めて触れる人に特におすすめの言語です。
過去にプログラミング経験がある人にとって新しい言語を覚えるのはさほどハードルは高くありません。しかし、本当に初めて触れる人にとってはドキュメントの充実と使いやすいフレームワークの存在がとても大切だからです。

情報量が多い(国産、日本の情報)

日本で作られたプログラミング言語のためか、日本語のドキュメント類が非常に充実しています。
日本のコミュニティも多く、丁寧な入門講座や最新情報が日本語で検索できるので、日本語でプログラミングを習得するにはおすすめの言語です。
サンプルコードも多く紹介されており、初めて開発をする人でも誰かのコードを読みながら学べます。

Ruby on Rails(通称Rails)がある!

Ruby on RailsはRuby専用のフレームワークです。
フレームワークとは、開発を簡単に行うためのさまざまな機能が詰め込まれたもので、初心者でもある程度の質を維持しながら時間を短縮できるという、複雑化している現在の開発にはなくてはならないものです。

Ruby on Railsは、Rubyのフレームワークの中でも最もメジャーなものと言われており、その使い勝手や情報量は他と一線を画します。企業の開発案件でも多く活用され、Ruby on Railsで開発できることが求人の条件に記載されることも少なくありません。
Rubyと言えばRailsと言えるほどメジャーなフレームワークを持っていることはRubyをおすすめする理由の1つと言えるでしょう。

【インストール】Rubyの開発環境を整えよう!

ここからは、実際にRubyを触っていきたいと思います。
まずはRubyの開発環境を整えましょう。Rubyの開発環境は、OSによって方法が異なります。ここではWindows、Mac、Linuxの3種類のOS別に紹介します。

Windows


簡単にRubyのローカル環境が構築できる「RubyInstaller」を使って開発環境をインストールしていきます。
RubyInstallerの公式ダウンロードページ(https://rubyinstaller.org/downloads/)からRuby+Devkit 2.6.3-1 (x64)をダウンロードします(2019年8月時点では最新のパッケージです)

インストーラを実行し、『I accept License』にチェックを入れ、画面の指示に従ってインストールを進めます。



次にMSYS2のセットアップを行います。

Rubyのライブラリ集であるgemを利用するためには必須になるもので、MSYS2 base installation、MSYS2 system update (optional)、MSYS2 and MINGW development toolchainのすべてを順番にインストールしていきます。
最後にコマンドプロンプトで以下のコマンドを実行してください。

ruby -v

Rubyのバージョンが表示されたらインストール作業完了です。

Mac

Macには標準でRubyがインストールされていますが、古いバージョンの場合があります。
しかし、インストールされているRubyバージョンアップしたり書き換えたりするとシステムに不具合が発生することがあるため、バージョンを切り替えて環境を別途用意するよう、構築していきます。

インストールの際はRubyのバージョンを切り替えるrbenvというアプリを使います。
rbenvはHomebrew(https://brew.sh/)を使用してインストール作業を進めていくため、もし入っていない場合、HomebrewのWebサイトに掲載されているコマンドでインストールを行ってください。

Homebrewが入ったら、Homebrewを使用して以下のコマンドでrbenvをインストールします。

brew update
brew install rbenv ruby-build

echo ‘eval “$(rbenv init -)”‘ >> ~/.bash_profile
source ~/.bash_profile

続いてrbenvでRubyをインストールします。コマンド内のバージョンは適宜最新のものを適用してください。

rbenv install 2.6.3

インストールされてるRubyの一覧を表示し、rbenvを再読み込み、最後にRubyのバージョンを変更します。

rbenv versions
rbenv rehash
rbenv global 2.6.3

これで環境の構築は完了です。

Linux

まずサーバーにRubyがインストールされているか確認します。

$ ruby –v

ここで最新のバージョンが表示されればインストール済みです。
なければCentosの場合はyumを使用してインストールします。

$ yum install -y ruby

再度Rubyのバージョンを確認し、表示されればインストール完了です。

$ ruby –v

Rubyの言語構造

数値と四則演算

数値オブジェクトは最も基本的なオブジェクトの1つです。数値オブジェクトは単純に数値をそのまま表記することで使用できます。整数や浮動小数点数の前にマイナスを付けると負の値として扱われます。
表示には「print」メソッドを使います。

print(10)
print(-123)

文字列

文字列オブジェクトは数値オブジェクトと並んで基礎的なオブジェクトです。文字列はStringクラスのオブジェクトです。Stringクラスから文字列オブジェクトを作成する場合は、String.new(“Hello World”)と記述します。
また、ダブルクオーテーション(“”)またはシングルクオーテーション(‘)で文字を囲うと、文字列オブジェクトが作成されます。
表示には「print」メソッドを使います。

print(“Hello World”)

変数の代入、宣言、定数

Rubyの変数は入れ物ではなく名札のような存在です。どこかに存在しているオブジェクトに対する目印と考えるとわかりやすいでしょう。
以下のように変数を作り、代入します。

※ num , name が変数

num = 1234
print (num)

name = “Hello”
print(name + “World”)

定数は変数と同様に数値や文字列などのオブジェクトに名札を付けるためのものです。

P1 = 0.08
price = 500 * (1 + P1)
print (price)

配列とハッシュ

配列は複数のオブジェクトを管理するためのオブジェクトです。
変数は1つのオブジェクトを管理しますが、配列は複数の変数をまとめて管理します。
配列は要素を複数持っており、1つの要素が1つのオブジェクトを管理しています。また、異なった種類のオブジェクトを指定して作成できます。

array = [“田中”, “幸子”, 2001, 1, 31, “女”]

ハッシュは配列と同様に、複数のオブジェクトを管理するオブジェクトです。ハッシュは連想配列とも呼ばれています。
配列との違いを挙げると、配列は複数並んでいるオブジェクトに、先頭から番号を割り当てたものです。ハッシュはばらばらに配置したオブジェクトにキーが付いているもので、要素の順番というものがありません。
配列のような何番目の要素という形式では参照できないので、対応するキーを指定することで値を取得します。

hash = {“Tanaka” => 10, “Takahashi” => 20, “Koizumi” => 30}

条件分岐

if構文による条件分岐です。if+条件、elseで成り立っています。ifの条件に合致しない場合、elseの結果を出力します。
例文では「Ruby」と入力された場合のみ「This is Ruby」と表示します。

if ARGV[0] == “Ruby” then
  p “This is Ruby”
else
  p “This is not Ruby”
end

ループ

特定の条件を満たすまで、実行をループするコードです。
サンプルではcountが5以上になるまで「Looping!!」という文字を表示してcountの変数が1ずつ増加します。

count = 0
while count < 5
  p “Looping!!”
  count = count + 1
end

Rubyを書いてみよう!

定番の Hello world

初めてプログラミングするときの定番、Hello worldを実行してみましょう。
Hello World!を出力するコードは、多くの言語で最も単純な構文構造を持った命令文です。プログラミング言語が正しくインストールされていることや、プログラミング言語の使用方法を理解するために用いられる最初の一歩と言えます。

早速やってみましょう。
テキストファイルに以下のコードをコピーし、hello.rbと名前を付けてデスクトップに保存します。

puts “hello world”

次にWindowsならコマンドプロンプト、Macならターミナルを起動してください。

Windows
cd desktopと入力し、エンター。
次にruby hello.rbと入力してエンター

Mac
cd desktopと入力し、エンター。
次にruby hello.rbと入力してエンター。

Hello worldと画面に表示されれば成功です。

少し複雑なRuby

続いて、ファイルを開いて参照・上書きするスクリプトを実行してみましょう。
今回はrubyファイル以外にもう一つ参照ファイルを作ってください。
デスクトップに name.txtというファイルを作成し、中に 以下の3人の名前を書き込み保存します。

abe
ito
yamada

その後、先程のファイルの中身を以下のコードに書き換えます。

File.open(‘name.txt’) do |file|
  file.each_line do |name|
   if name.chomp == “ito” then
    puts name
   end
  end
end

今回作成したRubyファイルはこのような構成になっています。
まず1行目のFile.openでname.txtというファイルを参照し、開きます。
続いてfile.each_line doでファイルの中の名前を変数に入れます。
条件分岐としてitoという名前を見つけたところで、nameの変数に入っている名前「ito」を表示する処理を書きます。
こちらもHello World のときと同じく実行してみてください。プログラムを実行すると ito と表示されるはずです。

ファイルの参照は実際にもっと複雑なプログラムを書くときに頻繁に使用することになります。今回は開いて参照しただけですが、開いたファイルの内容を書き換えて保存して閉じるなど、ファイル操作は不可欠なコマンドになりますので参考にしてみてください。

是非、Rubyで楽しいプログラミングライフを!


Rubyには有名なフレームワークRuby on Railsがあり、プログラミングを始めた初心者でも比較的容易にそれなりのアプリを作り上げることができます。また、サンプルコードを見た通り、言語に精通していなくてもなんとなく書いてあることや命令している内容がわかるため、C言語やアセンブラ、COBOLなどの習得が難しい言語に比べると非常に敷居が低い言語になっています。

これは開発したまつもと氏が「書いていて楽しく気持ちいい」ことを重視したためで、日本語の情報と併せて、初心者が挫折しやすい最初のアプリの完成までの道のりが比較的容易になっています。
自分でも作ってみたい、既存のアプリもいいのだけれどもう少しこんな機能が欲しい、そう思ったら早速Rubyでプログラミングを始めてみましょう!

関連記事

Ruby入門 – 初心者に向けて開発環境やサンプルの解説をします

【サンプル有】Python入門 – 初心者向けに環境設定・文法解説・サンプルまで徹底解説します

【初心者向け】プログラミング言語の選び方 – 様々な種類の言語を一覧で紹介します


新着求人

新着求人一覧
LINE@ メールマガジン