本記事では、Rubyについて解説します。
プログラミング言語の学習をする際は、
文法なども勉強する必要がありますが、
それ以外にも実行環境を構築する必要があります。
本記事では、Rubyの概要から、
環境構築までを解説します。
文法の詳細については、こちらの記事などをご参考ください。
なお、本記事の動画は、
下記になります。
Rubyとは?
まず、Rubyとは何でしょうか?
Rubyは、日本人のまつもとゆきひろ氏によって開発された、
動的型付け言語です。
すっきりした文法が特徴で、
慣れると書きやすいですが、
最初は癖があると感じるかもしれません。
似ている言語としては、
Pythonなどがありますが、
ところどころで異なる部分も多いため、
あくまで似ているだけです。
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を切り替えられるようにしておくと便利です。
そこでバージョン管理ツールとしてよく使われている TypeScriptの実行環境を作るには、Node.jsを入れる必要がありますが、意外とNode.jsを入れたりするのは、面倒だったりします。 なので、本記事では、Node.jsのインストールからTy ... 続きを見る
rbenvを導入します。
node.jsでいうnvm的なものです。
参考【TypeScript環境構築手順】nvm経由でのNode.jsインストール
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ループ処理】 配列each/map/forやスコープ
本記事では、Rubyの配列とループ処理を扱います。 Rubyには、ブロックという特徴的な文法があり、ループ処理もそれに関連してか、他のプログラミング言語よりもメソッドがたくさんあります。 本記事ではそ ...
続きを見る
-
あわせて読みたい【Ruby】ハッシュとシンボルについて 省略記法やシンボルと文字列の違い
本記事では、Rubyの文法の中でも特徴的な、ハッシュとシンボルについて紹介します。 特にシンボルについては、他のプログラミング言語では、あまり見かけないデータ構造かと思います。 こうしたハッシュとシン ...
続きを見る
-
あわせて読みたい【オブジェクト指向入門】Rubyのclass定義方法から継承まで
本記事では、オブジェクト指向については、解説します。 オブジェクト指向は、プログラミングの伝統的かつ王道の手法なので、ぜひとも理解しておきたい概念の一つです。 動画は下記をご参考ください。 https ...
続きを見る
-
あわせて読みたい【Rubyブロック】yieldとProcオブジェクト
Rubyの文法の中で、やはり避けては通れないぐらい重要な概念として、ブロックがあります。 このブロックは、ものすごくよく使いますし、重要な概念ですが、その奥深いところは、結構難しいかなと思います。 本 ...
続きを見る