Rubyで利用できる演算

算術演算

Rubyで数値計算を行なうには、数学とほぼ同じ書き方で記述する。 ただし、掛算記号は*、割算記号は/で 表す。括弧は丸括弧 ( ) 一種類だけを使用し、 式全体が1行で完結するように書く。

代表的な演算子を列挙する。

演算子 意味
+ 加算
* 乗算
- 減算
/ 除算
% 剰余
** 巾乗(べき乗)

一つの式に演算子が複数現れるときは、優先順位の高いほうが先に 計算される。上記の演算子を優先順位の高い順に並べると以下のようになる。

←→
***
/
%
+
-

この順位は基本的に数学と同じで、たとえば

1+2*3

は、+よりも*が高い優先順位なので、 2*3 が先に計算されるので答は7となり、

1+2*3**2

は、*よりもさらに順位の高い**が 最初に計算されるので答は1+2*9=1+18=19 となる。括弧 ( ) があれば、先に括弧内が計算される。 内側の括弧の方が高い優先順位を持つ。

((1+2)*3)**2

は、1+2が最初に、次に *3 が、 最後に**2 が計算される。

数式との対応をいくつか挙げておこう。

数学Rubyの式
1+2×3 1+2*3
(1+2)÷3 (1+2)/3
x+y+z
───
3
(x+y+z)/3

代入を伴う演算

次のものは変数への代入を伴う。

代入演算子 意味
=通常代入 x=5
+=加算代入 x+=5 でxが5増える
*=乗算代入 x*=5 でxが5倍になる
-=減算代入 x-=5 でxが5減る
/=除算代入 x/=5 でxが1/5になる
%=剰余代入 x%=5 は x = x%5 と同じ
**=巾乗代入 x**=5 は x=x**5と同じ

変数xの値が10であると仮定したときに、 代入演算によってxがどう変わるかを示す。

代入演算 その後のxの値
x += 111
x *= 220
x -= 19
x /= 25
x %= 31
x **= 2100

論理演算

制御構造の判定条件式等に利用する演算子のことを 論理演算子という。基本的なプログラムでも頻繁に利用する ものを以下に示す。

比較演算子 意味
== 左辺と右辺が等しいか
< 左辺が右辺より小さいか
<= 左辺が右辺以下か
> 左辺が右辺より大きいか
>= 左辺が右辺以上か
&& 「かつ」
|| 「または」
! 否定
not 否定

いくつか例を示す。


本日の目次