式と演算子
Rubyでの式
式とは、リテラル、変数、演算子、メソッドなどを組み合わせたもの。
式の組み合わせや並びがプログラムやで。
Rubyでは式は何らかの値を返す。
式は代入演算子=の右辺にでき、
if式で条件式に使ったりメソッドの引数に指定したりできる。
Rubyでは式と文の区別はあまりない。
たいていの構文は何らかの値を返す。if式の結果を変数に入れることも可能。
演算子
式同士で計算や比較を行うには、演算子を使います。
四則演算とあまりの計算のための演算子には+,-,*,/,%がある。
整数同士の割り算の結果は整数にしかならない。
a = 7; b = 3
puts a + b # 足し算
puts a - b # 引き算
puts a * b # 掛け算
puts a / b # 割り算(整数どうしの結果は整数)
puts a % b # 余り
10
4
21
2
1
足して代入のような「+=」という演算子もある。
「n+=2」は「nの値に2を足したものを代入」なので、nの値を2増やす。
「n-=1」は「nの値から1を引いたものを代入」なのでnの値を1つ減らす。
n = 2
n += 2 # 2を足して代入して
puts n
n -= 1 # 1を引いて代入
puts n
4
3
演算子には優先順位がある。
ここは四則演算と同じ。対処も同じ※()で先に計算させる。
演算子の優先順位
優先順位 | 演算子 | 機能 |
---|---|---|
高い | + ! ~ | 単項のプラス、否定、補数 |
- | ** | べき乗 |
- | - | 単項のマイナス |
- | * / % | 乗算、除算、剰余 |
- | + - | プラス、マイナス |
- | << >> | ビットシフト |
- | & | 論理積(ビット演算) |
- | | ^ | 論理和、排他的論理和(ビット演算) |
- | > >= < <= | 比較演算子(大きい、小さい) |
- | <=> == === != =~ !~ | 比較演算子(等号)、パターンマッチ |
- | && | 論理積(かつ) |
- | || | 論理和(または) |
- | .. … | 範囲 |
- | ?: | 条件演算子 |
- | = += -= *= /= %= | 代入、計算して代入 |
- | not | 否定 |
低い | and or | 論理積(かつ)、論理和(または) |
演算子の改行
Rubyでは、カンマや演算子の直後で改行すれば、文が続いていると認識される。
a = 1; b = 4
puts a + b
puts a +
b
puts a
+ b
5
5
1
例外
s = "hello"
s2 = s
.upcase
puts s2
HELLO
【注意】メソッド呼び出しのピリオドの前では改行可能。
今日はここまでにしとくか。
本記事は下記本の勉強記事です。初学者にとても良い本です。