icon
icon

Rubyで便利な||演算子の使い方を現役エンジニアが解説【初心者向け】

初心者向けにRubyで便利な||演算子の使い方について現役エンジニアが解説しています。||は論理演算子の1つで、orを意味します。if文などの条件式で使うことが出来ますが、他にも連続式や代入式などでの使い方があります。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Rubyで便利な||演算子の使い方について解説します。

 
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。

 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Rubyで便利な||演算子の使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

||とはどういう意味か?

||は論理演算子の1つで、orを意味します。実は条件式で、AまたはBといった条件を作るだけでなく

a = false || true || true

 

というように、連続してしようしたり

a ||= 1

というように、代入演算子として使用することが出来ます。今回は、||の使い方を詳しく解説していこうと思います。

||演算子としての使い方

ここからは3種類の||の使い方についてみていきます。

 

条件式

まずはif文などで使う条件式としての利用方法をみていきます。このパターンで使う場合は、以下のように書いて使用します。

if 条件1 || 条件2 
  処理
end

 

例えば、数学の点数と国語の点数で条件を作る場合は

if math_score > 70 || ja_score > 70
  puts "Good"
end

 

というようになります。

 

連続式

次に||を連続して並べる連続式についてみていきます。||を連続して並べると、左から式を評価していき真となったものを返します。

sample = false || nil || 1

 

上記のようにコードを書いたときは、1がsampleに代入されます。

 

代入式

最後に代入式の使い方について説明します。あまり見慣れないかもしれませんが

a ||= 1

 

といった書き方が出来ます。

これは、左辺の変数(この場合はa)がfalseやnilの際には1が代入されるといった仕組みです。連続式で書くと、以下のようになり、基本的に同じ処理です。

a = nil || 1

 

[PR] 未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

それでは、3種類の||の使い方を実際にコードを書いて理解しましょう。

まずは条件式の使い方です。

en_score = 60
math_score = 80
if en_score > 70 || math_score > 70
 puts "Good"
end

実行すると、 math_scoreは70以上で条件を満たすので、Goodが返ってきます。次に代入式の使い方です。

a = nil || false || 100
puts a

この場合は、nilとfalseを飛ばして100がaに代入されるので100が返ってきます。最後に代入式の使い方です。

a ||= 100
puts a

aには何も代入されていないので、a ||= 100の処理の結果aに100が代入され、100と結果が返ってきます。

 

以上で解説を終わります。

 

筆者プロフィール

メンター金成さん

フリーランスエンジニア。
Railsの案件を中心に、様々なアプリケーションを開発してます。

使える言語は、ruby python go 。最近はgoにハマってます。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。