算術演算の短縮
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に対して以下の操作を順番に実行してください:
balanceに50を加算する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 で割った余りを求め、それを表示するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。