【脱Ruby初心者!】さまざまな演算子の使い方を理解しよう!

Rubyに限らずプログラミングをする上で最も基本となるのが演算子です。

「演算子の種類が知りたい」
「演算子のそれぞれの使い方を知りたい」

そんな方に向けて、この記事ではRubyで使用するほとんどの演算子を網羅したので、これから学習する人や少し忘れてしまった人にはぴったりの内容になっています。

便利な演算子を使いこなせるようになれば、開発効率がアップすること間違いなしです。

なので、しっかりと各演算子の使い方を頭に叩き込んでおきましょう。

この記事では、rubyの演算子の使い方について以下の内容を解説していきます。


【基礎】代入演算子
【基礎】範囲演算子
【基礎】論理演算子
【基礎】比較演算子
【発展】配列演算子
【発展】ハッシュ演算子
【発展】文字列演算子
【発展】正規表現の演算子
【発展】三項演算子

Rubyの演算子について使い方を網羅しているのでぜひ参考にしてください!

演算子一覧

Rubyではここで紹介する演算子を使って、プログラミングしていきます。

それぞれの演算子は文脈によって異なる使い方をするものあるので、それぞれの演算子の違いをこれから確認していきましょう。


::
[] +(単項) ! ~
**
-(単項)
* / %
+ –
<< >>
&
| ^
> >= < <= <=> == === != =~ !~
&&
||
.. …
?:(条件演算子)
=(+=, -= … )
not
and or

代入演算子

代入

代入には「=(イコール)」を使います。

自己代入

[実行結果]

自己代入可能な演算子はこちらです。

多重代入

範囲演算子

最大値を含むか含まないかによって..と…を使い分けることができます。

..(ドット2つ)

最大値を含む

…(ドット3つ)

最大値を含まない

論理演算子

&&、and

[実行結果]

&&またはandでは、両方の条件を満たした場合にtrueと評価されます。

もちろん&&の部分をandに入れ替えてもOKです。

||、or

[実行結果]

||またはorでは、どちらかががtrueであれば、全体としてtrueと評価されます。
(初めの式がtrueの場合、後の式は評価されません)

&&(and)と同様に、||をorに入れ替えても同じ挙動です。

!、not

[実行結果]

どの条件式もstrong="foo"なので、一見trueと評価されそうですが、すべてfalseになります。

というのも先頭につける!、not、!=が否定の意味を持つからです。

if文での論理演算子の使い方はこちらで詳しく説明していますので、一読されることをおすすめします。

比較演算子

比較演算子は基本的には7個あります。

1.== #等しいかどうか
2.!= (等しくないかどうか)
3.> (左側が右側よる大きい)
4.>= (左側が右側以上)
5.< (右側が左側より大きい)
6.<= (右側が左側以上)
7.<=> (右側が左側より大きい時は-1、等しければ0、左側が右側よる大きい時は1)

上記の演算子を使って、1と999を比べてみましょう。

[実行結果]

このように、<=>以外は真偽値で返されます。

繰り返しですが、<=>は左辺のほうが小さければ-1、大きければ1、等しいなら0、そして、比較できない場合はnilを返します。
今回は1の方が小さいので-1を返しました。

また、===は特殊で、比べるものによって判別の仕様が変わります。

[実行結果]

このように、数、範囲、正規表現、文字列と非常に広い範囲に渡って使用することができます。

if文の条件として使用するにはとても便利ですね。

配列演算子

配列の演算子には、実用的なものがたくさんあるので、しっかりと覚えておきましょう。

[実行結果]

使いか方を覚えていないものは、必ず自分で条件を変えて実行してみてくださいね。

また、配列の基本的な使い方はこちらで解説してありますので、一読することをおすすめします。

【ruby Array(配列)】6つの基本をすっきり解説で最短理解
更新日 : 2019年4月12日

ハッシュ演算子

ハッシュの演算子の使い方の例です。

==演算子を使って、二つのハッシュのkeyとvalueが等しいのか比べてみましょう。

[実行結果]

このようにhash1の一つの要素を変更したので、hash1==hash2がfalseに変わるのを確認できます。

ハッシュの基本的な使い方はこちらで解説してますので、一読することをおすすめします。

文字列演算子

それぞれの演算子の文字列においての意味は


+はstring1とstring2の連結
<<はstring1の内容にstring2を加えて、string1を変更
*はstring1を指定した数字文だけ繰り返す

です

文字列についてはこちらに勉強しやすいようにまとめリンクが用意されていますので、一読することをおすすめします。

正規表現の演算子

[実行結果]

=~は文字列に対してのパターンマッチを行い、マッチしたらマッチした部分の配列の位置を整数値で返し、マッチしなかったらnilを返します。

!~マッチしなかったときにtrue、マッチした時にfalseを返します。

正規表現については理解が曖昧なかたは、こちらの記事を一読することをおすすめします。

【Rubyの正規表現!】基礎の基礎から応用まで徹底解説!
更新日 : 2019年6月12日

三項演算子

三項演算子を使えば、if else endを一行に納めることができます。

よく使うテクニックでのでここでしっかりマスターしておきましょう。

[基本形]

[サンプルコード]

[実行結果]

このように、samuraiが100よりも小さい場合には”ruby”を返して、100よりも大きい場合には”rails”を返しています。

if else endを使った場合と比べてとてもスッキリと書けます。

まとめ

いかがでしたでしょうか?

この記事では、rubyの演算子の使い方についてを解説しました。

rubyには便利な演算子がたくさん用意されていることを確認いただけたかと思います。

ドットの数の違いで最大値を含める、含めないかが指定できるなどぱっと見は違いがわからないものもあるので、この記事でしっかりと使い方を定着させておきましょう。

また、一つ一つ自分で数値を変えて実行してみると理解が深まるので、ぜひ自分で一度やってみてください。

もしrubyの演算子の使い方について忘れてしまったらこの記事を確認してくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

長瀬来

長瀬来

Unityを使ったiOSアプリのリリース、フリマサイト運営の経験があります。

経験した言語はC、C#、Javascript、R、Python、Ruby、PHPなど

言語が好きで、英語や中国、ドイツ語を勉強しました。
将来的には海外で生活したいです。

現在はRuby on Rails5やCocos2dxの勉強を主にしています。

ライターとしては
できるだけ初心者にわかりやすい文章になるように心がけています。

趣味は語学、読書です。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説