【脱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の演算子の使い方について忘れてしまったらこの記事を確認してくださいね!

Rubyカリキュラム無料公開中!

この記事はRuby入門完全攻略ガイド【基礎学習/アプリ開発/仕事獲得】の一部になります。このカリキュラムは、プログラミング入門者が、基礎学習からアプリ開発、さらには仕事獲得まで体系的に学べる内容となっています。

Ruby学習に必要な情報を一つにまとめていますので効率よくRubyを学ぶことが出来ます。この機会に是非活用していただければと思います。

【Ruby入門ガイド】アプリ開発で知っておくべき知識を総ざらい
更新日 : 2018年11月23日

Rubyを最短で習得したい方へ

近年では様々なWEBサービスが流通するようになりました。

WEBサービスの普及が進むにつれて、それらを素早く開発するのに長けたRubyの人気は今後さらに増し、Rubyエンジニアの需要も自ずと増えることは間違いなしでしょう。

元々ITリテラシーの高い方や他言語を習得している方であれば、独学でRubyを習得することが可能です。

ただし、プログラミング学習をしている方の多くは

「自分に合った教材が見つけられずに挫折してしまった」
「勉強のための勉強になってしまい、ゴールが見えない」
「情報が少なくどう調べればいいかわからない」
「エラーを解決するのに何日もかかってしまう」

このような悩みを抱えたまま挫折してしまうのが現実となっています。

  • もう挫折したくない
  • 本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい
  • 自分だけのカリキュラムで効率的に勉強したい
  • WEBアプリケーション開発までしっかりサポートして欲しい
そんな方はお気軽に侍エンジニア塾までご相談ください。

お一人お一人に専属のインストラクターがつくので、初心者の方がつまづきがちな、「CookPad」、「Wantedly」、「食べログ」のようなWEBアプリケーション開発方法もスムーズに学習することできます。

実際にオリジナルWEBアプリを開発し、成果物として認められて仕事獲得に成功した塾生は数多くいます。

このように、オリジナルアプリ開発から仕事獲得まで徹底的にサポートすることでプログラミング初心者の方でも安心して基礎学習に取り組むことができます。

まずは『無料体験レッスン』で、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

Rubyならではの学習方法や、現役フリーランスRubyエンジニアから貴重なアドバイスを受けることができます。

詳しくは下の画像から弊社サービス内容をご確認ください。

ruby_a2
LINEで送る
Pocket

書いた人

長瀬来

長瀬来

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

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

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

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

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

趣味は語学、読書です。

おすすめコンテンツ

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

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