現場で役立つ!Rubyで演算子を使う方法【初心者向け】

初心者向けにRubyで演算子を使う方法について解説しています。演算子にも代数演算子や比較演算子などいくつか種類があるので、よく覚えておきましょう。実際の業務でも役立つ知識になるはずです。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、Rubyで書く演算子の使い方を解説していきます。

小学生の時に習った算数と考え方は似ていますが、見慣れない記号などもあるので、すぐ使えるように覚えておきましょう。

そもそもRubyがよく分からないという方は、Rubyとは何なのか解説した記事をご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

田島悠介

今回は演算子とその種類について勉強しよう。

大石ゆかり

田島メンター!!演算子というのはどういうものですか~?

田島悠介

演算子は足し算や掛け算を行ったり変数に値を代入したり、2つの値を比較したりと色々な機能を持っているんだ。プログラミングを行う上で必ず使用するものなのでしっかり理解しておこう。

大石ゆかり

はい!お願いします!

 

演算子とは

四則演算や比較演算などの演算を行うために使う「記号」のことを演算子といいます。
例えば、加算(足し算)を意味する「+」記号がありますが、この記号が演算子となるわけです。
今回解説するRubyの演算子には、「代数演算子」、「代入演算子」、「比較演算子」、「論理演算子」、「三項演算子」、「配列演算子」、「ハッシュ演算子」があります。
以下では、これらの演算子について説明していきます。

 

代数演算子

算数で習った基礎代数と同じ動作をします。
Rubyで用意されている代数演算子には加算(足し算)、減算(引き算)、乗算(掛け算)、除算(割り算)、剰余(余り)、べき乗があります。これらを表す代数演算子と簡単な例は次のとおりです。

 

演算子 例・意味
+ 1 + 3 # 加算
3 – 2 # 減算
* 3 * 4 # 乗算
/ 5 / 2 # 除算
** 3 ** 2 # べき乗(3の2乗)
% 5 % 3 # 剰余(余り)
実際の実行結果を見てみましょう。

327216ea02acde5cc634c0efaec965cf-620x246

「/(除算)」の場合は、商の値のみが返ってきます。
また、「%(剰余)」の場合は、剰余(余り)の値のみが返ってきます。
このように代数演算子を使うことで数値を使った計算を簡単に実行することができます。

 

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

代入演算子

代入演算子は変数を定義するときや変数に新たに値を代入するときによく使われます。

最も代表的な代入演算子は「=」で書式は次の様になります。

変数 = 値

例えば、変数aに10という値を入れたい場合は次の通りです。

a = 10

この他にも代数演算子と組み合わした代入演算子があります。

a += 3  # a = a + 3 と同じ
a -= 3   # a = a - 3 と同じ
a *= 3   # a = a * 3 と同じ
a /= 3   # a = a / 3 と同じ

例えば、変数aに対して4を加算した値を入れるときの実行結果は次のようになります。

58c1bffbd510a1b8d3fe59fd98de8d11-620x237

 

比較演算子

比較演算子は2つの値の大小を比較する演算子です。

算数でもよく出てきた等号(==)や不等号(>, <)のことです。

比較演算の結果は「true」か「false」で、比較の結果が正しければ「true」、間違っていれば「false」となります。

使い方の例は次の通りです。

a > b # aはbより大きい
a < b # aはbより小さい
a == b # aとbは等しい
a >= b # aはbより大きいか等しい
a <= b # aはbより小さいか等しい

この比較演算子はif文などでよく使われます。

変数aとbを比較して出力結果を変えるという処理は次のように書くことができます。

8e5fc26bd9c863e076a39e0786ea79b9-620x243

 

論理演算子

論理演算子は複数の条件を1つにまとめるときに使います。「&&」と「||」の記号を使います。

条件1 && 条件2

は条件1と条件2のどちらも「true」である場合に、全体の結果も「true」となります。

どちらか一方でも間違っている場合は「false」になります。

つまり、次のようになります。

1 > 0 && 5 < 10        # 両方正しいのでtrue
0 == 1 && 5 > 1        # 片方しか正しくないのでfalse

一方、

条件1 || 条件2

は、条件1と条件2のいずれか一方でも「true」ならば、全体の結果も「true」になります。

10 > 1 || 1 < 0            # 10 > 1は正しいので「true」
0 > 1 || -1 > 10          # 両方正しくないので「false」

この論理演算子もif文でよく使われます。簡単な実行例を以下に示します。

39e6b7566a878cc65cd7aae9984e43e0-620x251

 

田島悠介

比較演算子・論理演算子は条件分岐や繰り返し処理でもよく使われるよ。

大石ゆかり

変数aが5よりも小さかったら……みたいな感じですか?

田島悠介

そうだね。あと繰り返し処理のときは不等号の向きを間違えないように注意しよう。全く別の結果になってしまったり、無限ループになってしまう可能性があるからね。

大石ゆかり

分かりました!

 

三項演算子

三項演算子は条件式の結果によって異なる値を返す演算子です。書式は次の通りです。

条件 ? 式1 : 式2

この式の意味は、条件が正しい(true)とき式1が結果として返ります。

また、条件が間違っている(false)ときは式2が結果として返ります。

例えば、比較演算子の例で書いたaとbの値の大小を比較するプログラムは三項演算子を使うと次のように書き換えることもできます。

e3b981f1dda7abdd8b00ff32c217c594-620x265

 

配列演算子

配列を結合したり、条件分岐するなどこの演算子は非常に便利です。

array1 + array2     # array1とarray2を結合した配列
array * n    # array1の要素をn回繰り返した配列
array1 & array2 # array1とarray2両方に含まれる要素からなる配列
array1 << obj     # array1にobj要素を追加した配列
array1 == array2  # array1とarray2が等しければtrue、false
array1[0]      # array1の0番目の要素

 

ハッシュ演算子

ハッシュ演算子では、(==, ===, [])といった記号を使用します。

hashA == hashB     # hashAとhashBの要素が等しければtrue
hashA === hashB  # hashAとhashBの要素が等しければtrue
hashA[key]              # hashAの中のkeyに関連付けられた値

 

以上、Rubyの演算子の使い方を解説しました。

種類が多く最初は混乱してしまうかもしれませんが、現場でも使える知識なのでぜひ覚えておきましょう。

 

田島悠介

演算子についての解説は以上だよ。

大石ゆかり

かなりたくさんの種類があるんですね。三項演算子や配列演算子などはちょっと複雑そうな感じです……

田島悠介

まずは代数演算子・代入演算子・比較演算子辺りをきちんと頭に入れておくといいんじゃないかな。この辺りはとてもよく使うのでいつでも書けるようにしておこう。

大石ゆかり

そうですね、自分でも練習してみます。ありがとうございました!

 

[お知らせ]TechAcademyでは初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。