11.4 まとめ

この章では、Scala において状態をモデル化する手段 --- 変数、代入、そして手続き的な制御構造 --- を見てきました。状態と代入は、計算に関する我々のメンタルモデルを複雑にします。特に、参照透過性は失われます。一方で、代入はプログラムをエレガントに書く新しい方法を提供します。いつものことですが、純粋関数型プログラミングと代入を使うプログラミングの、どちらがベストであるかは状況によります。