算術演算の短縮
CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 13/88。
変数の現在の値に基づいて値を更新する必要がある場合、Ruby には複合代入演算子と呼ばれる省略形の演算子が用意されています。これらは算術演算と代入を1つの手順に組み合わせます。
score = score + 10と書く代わりに、score += 10を使えます。どちらも同じことをしますが、短縮形のほうがすっきりしており、実際のコードではより一般的です。
Rubyで利用できる算術演算のショートカットは次のとおりです。
points = 100
points += 25 # 次と同じ: points = points + 25 (現在 125)
points -= 10 # 次と同じ: points = points - 10 (現在 115)
points *= 2 # 次と同じ: points = points * 2 (現在 230)
points /= 5 # 次と同じ: points = points / 5 (現在 46)
points %= 10 # 次と同じ: points = points % 10 (現在 6)これらのショートカットは、剰余を含め、これまでに学んだすべての算術演算子で使用できます。カウンターを増加させたり、合計を蓄積したりする場合に特に便利で、コードをより簡潔で読みやすくできます。
チャレンジ
簡単次の変数が与えられています:
balance = 200複合代入演算子(+=、-=、*=、/=、%=)のみを使用して、balance に対して次の操作を順番に実行してください:
50をbalanceに加算するbalanceから30を減算するbalanceに2を乗算するbalanceを4で除算するbalanceを7で割ったときの余りを求める
各操作の後に、puts を使用して balance の現在の値を表示してください。出力行は合計5行になるはずです。
自分で試してみよう
# 初期残高
balance = 200
# TODO: 以下にコードを書いてください
# 複合代入演算子 (+=, -=, *=, /=, %=) を使って:
# 1. balance に 50 を加算し、それを出力する
# 2. balance から 30 を減算し、それを出力する
# 3. balance に 2 を掛け、それを出力する
# 4. balance を 4 で割り、それを出力する
# 5. balance を 7 で割った余りを求め、それを出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rubyオンラインコンパイラ