バックエンド

【Ruby環境構築】Rubyとは?rbenvインストールから

reisuta

Webエンジニア | 20代中盤 | 大学時代はGmailすら知らないIT音痴でプログラミングとは無縁の生活を送る → 独学でプログラミングを学ぶ → Web系受託開発企業にエンジニアとして就職 → Web系自社サービス企業に転職 | 実務未経験の頃からVimを愛好しており、仕事でもプライベートでも開発はVimとTmuxを使っているので、VSCodeに疎いのが最近の悩み。何だかんだでやっぱりRubyが好き。

本記事では、Rubyについて解説します。
プログラミング言語の学習をする際は、
文法なども勉強する必要がありますが、
それ以外にも実行環境を構築する必要があります。

本記事では、Rubyの概要から、
環境構築までを解説します。

文法の詳細については、こちらの記事などをご参考ください。

なお、本記事の動画は、
下記になります。

Rubyとは?

まず、Rubyとは何でしょうか?

Rubyは、日本人のまつもとゆきひろ氏によって開発された、
動的型付け言語です。

すっきりした文法が特徴で、
慣れると書きやすいですが、
最初は癖があると感じるかもしれません。

似ている言語としては、
Pythonなどがありますが、
ところどころで異なる部分も多いため、
あくまで似ているだけです。

Rubyにおいて、
最も特徴的なのは、
「すべてがオブジェクト」という点です。

この点については、
下記の記事で解説しているので、
ご参考ください。

Ruby変数やすべてがオブジェクトについて
参考【Rubyすべてがオブジェクト】変数と真偽値/論理演算子/コメント

本記事は、Rubyの基礎文法である、変数や真偽値、論理演算子に触れると同時に、「すべてがオブジェクト」というRubyの特徴的な思想についても解説します。 この思想は、Rubyの文法の根幹になっているの ...

続きを見る

Rubyのインストール

macやlinuxの場合、
デフォルトでRubyがインストールされています。

$ ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.x86_64-darwin21]

ただ、のちのちgemとかをインストールする際、
rubyの細かいバージョンがネックになるので、
最初からversionを切り替えられるようにしておくと便利です。

そこでバージョン管理ツールとしてよく使われている
rbenvを導入します。
node.jsでいうnvm的なものです。

https://github.com/rbenv/rbenv

基本は上記のドキュメントどおりに進めます。

macなら

brew install rbenv ruby-build

linux(Debian, Ubuntu)なら

sudo apt install rbenv

でインストールできます。

そして

$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:

eval "$(rbenv init - zsh)"

を走らせます。

使っているシェルにrbenv initの設定を加えます。
ここではzshを想定しています。

eval "$(rbenv init - zsh)"

そして、.zshrcを再読込します。
(ターミナルを開き直すかsourceコマンドを使って、
再読込します。)

これでrbenvのインストールは完了です。

早速なにかrubyをインストールしてみましょう。
ruby3.0.1をインストールしてみます。

rbenv install 3.0.1

ただインストールしただけだと
まだ反映されません。

$ rbenv versions
* system
  3.0.1

3.0.1を適用させるには、

rbenv global 3.0.1

を実行します。

たまにこれで切り替わらないときがあるので、
その時は、

$ which ruby
/usr/bin/ruby

上記のように、結果が/usr/bin/rubyになっている場合は、
rbenvのパスに切り替わっていません。

もう一度zshを再読込して、同じのを実行してみます。

$ which ruby
/Users/reisuta/.rbenv/shims/ruby

今度は変わっていますね。
これで反映されました。

irbを試してみる

irbとは、Rubyの対話型の実行環境で、
Rubyの挙動を手軽に試すことができます。

RailsのRails consoleに似ていますね。

$ irb
irb(main):001:0> 1 * 42
=> 42
irb(main):002:0>

抜けたいときは、exitと打てば抜けられます。

Rubyファイルを実行する

基本的な文法は、irbだけで
試すことができますが、
ファイルで実行する方法も知っておくべきでしょう。

puts 'Hello world'

上記の一行をindex.rbというファイルに追加します。
そして実行します。

$ ruby index.rb
Hello world

といった感じです。

基本は、rubyコマンドで実行できます。

ちなみにRubyワンライナーとしていきなりターミナルから実行することもできます。

$ ruby -e 'puts "Hello World"'

rubyコマンドに-eオプションを渡して
実行します。

Rubyはこのように、
インストールさえしてしまえば、
簡単にコードを実行できるので、
ShellScriptの代わりとして使ったりもできなくはないので、
シェル芸的な側面もあります。
(PythonやPerlとかもでも、よくワンライナーを聞きますが、
手軽さはおそらくRubyが一番か?)

シェル芸の場合、awkとかのプログラミング言語を使うことが多いですが、
awkの代わりにRubyを使ったりするのも可能なので、
一度極めるといろいろな場面で使えるのがRubyの大きなメリットと言えるでしょう。

あわせて読みたい【Ruby条件分岐if/unless/case】三項演算子やメソッド定義

本記事では、Rubyにおける、条件分岐の文法とメソッドについて解説します。 Rubyの条件分岐やメソッド定義は、unless文や破壊的メソッドなど、特徴的な部分も多い印象です。 そこで、本記事ではこれ ...

続きを見る

Ruby配列ループ
あわせて読みたい【Rubyループ処理】 配列each/map/forやスコープ

本記事では、Rubyの配列とループ処理を扱います。 Rubyには、ブロックという特徴的な文法があり、ループ処理もそれに関連してか、他のプログラミング言語よりもメソッドがたくさんあります。 本記事ではそ ...

続きを見る

あわせて読みたい【Ruby】ハッシュとシンボルについて 省略記法やシンボルと文字列の違い

本記事では、Rubyの文法の中でも特徴的な、ハッシュとシンボルについて紹介します。 特にシンボルについては、他のプログラミング言語では、あまり見かけないデータ構造かと思います。 こうしたハッシュとシン ...

続きを見る

あわせて読みたい【オブジェクト指向入門】Rubyのclass定義方法から継承まで

本記事では、オブジェクト指向については、解説します。 オブジェクト指向は、プログラミングの伝統的かつ王道の手法なので、ぜひとも理解しておきたい概念の一つです。 動画は下記をご参考ください。 https ...

続きを見る

RubyのProcオブジェクト
あわせて読みたい【Rubyブロック】yieldとProcオブジェクト

Rubyの文法の中で、やはり避けては通れないぐらい重要な概念として、ブロックがあります。 このブロックは、ものすごくよく使いますし、重要な概念ですが、その奥深いところは、結構難しいかなと思います。 本 ...

続きを見る

  • この記事を書いた人
  • 最新記事

reisuta

Webエンジニア | 20代中盤 | 大学時代はGmailすら知らないIT音痴でプログラミングとは無縁の生活を送る → 独学でプログラミングを学ぶ → Web系受託開発企業にエンジニアとして就職 → Web系自社サービス企業に転職 | 実務未経験の頃からVimを愛好しており、仕事でもプライベートでも開発はVimとTmuxを使っているので、VSCodeに疎いのが最近の悩み。何だかんだでやっぱりRubyが好き。

おすすめ記事はこちら

Vim/Neovimプラグイン 1

プラグインをどれだけ入れるかは、その人の思想なども関係するので、一概にこれがいいというのはないかもしれません。 プラグインを全く入れない人もいれば、100個以上入れる人もいます。 ただそれでも、これだ ...

VimとNeovimの比較 2

本記事では、VimとNeovimの違いについて、解説します。 VimとNeovimの違いについては、普段頻繁にVimなどを使う方でなければ、正直、あまり気にしなくてもいいかなと思います。 ただ、Vim ...

Ruby変数やすべてがオブジェクトについて 3

本記事は、Rubyの基礎文法である、変数や真偽値、論理演算子に触れると同時に、「すべてがオブジェクト」というRubyの特徴的な思想についても解説します。 この思想は、Rubyの文法の根幹になっているの ...

4

エンジニアにおすすめの技術書 書籍学習は、エンジニアの嗜みみたいなところがありますが、 良書というものは、意外とそこまで多くもありません。 そこで本記事では「技術書マニアの筆者が厳選した技術書20選」 ...

5

エンジニアになるには? プログラミングは、専門性が高く自分一人で勉強するのが大変に感じることも多いですよね。 そこで本記事では「おすすめのプログラミングスクール5選」を特徴と、現役エンジニア目線で優れ ...

-バックエンド