Dartのカスケード演算子(..)を使いこなす

2024年7月23日火曜日

Flutter

t f B! P L

Dartのカスケード演算子

Dartにはカスケード演算子(…)があります。この演算子を使うことで、同一オブジェクトに対する複数の操作を連続して行えるため、コードの可読性を向上させることができます。
今回は、カスケード演算子の基本的な使い方とその魅力について詳しく解説します。

カスケード演算子とは?

カスケード演算子(…)は、同一のオブジェクトに対して複数のメソッドを連続して呼び出したり、プロパティにアクセスしたりする際に使用します。この演算子を使うことで、オブジェクトを一時的な変数に代入せずに、直列の操作を簡潔に記述できます。

基本的な使い方

例えば、あるウィジェットのプロパティを設定する際、通常は以下のように書くかもしれません:

var button = Button();
button.text = 'Click Me';
button.color = 'Blue';
button.width = 100;

カスケード演算子を使用すると、このコードを以下のように書き換えることができます:

var button = Button()
  ..text = 'Click Me'
  ..color = 'Blue'
  ..width = 100;

この方法では、button オブジェクトに対して一度だけ参照を行い、連続した設定を行うことができるため、コードがすっきりとします。

関数をカスケード演算子で複数呼び出す

カスケード演算子は、オブジェクトのプロパティだけでなく、関数の連続呼び出しにも利用することができます。ここで一つのクラスを定義し、そのメソッドを連続して呼び出す例を見てみましょう:

class Calculator {
  double value = 0.0;

  void add(double number) {
    value += number;
  }

  void multiply(double number) {
    value *= number;
  }

  void subtract(double number) {
    value -= number;
  }
}

void main() {
  var calc = Calculator()
    ..add(10)
    ..multiply(2)
    ..subtract(5);

  print(calc.value); // 出力: 15
}

この例では、Calculator クラスのインスタンスに対して、add メソッドで 10 を加え、multiply メソッドで 2 を掛け、そして subtract メソッドで 5 を引く操作を一連の流れで行っています。これにより、コードが非常に直感的で読みやすくなります。

実用的な例

カスケード演算子は、Flutterでのウィジェットの構築にも非常に便利です。以下は、Flutterでカスタマイズしたボタンを作る一例です:

var raisedButton = RaisedButton()
  ..onPressed = () {
    print('Button Pressed');
  }
  ..child = Text('Press Me')
  ..color = Colors.blue;

この例では、RaisedButton ウィジェットに対して、アクション(onPressed)、子要素(child)、色(color)を一度の操作で設定しています。

まとめ

カスケード演算子は、Dartでのプログラミングをより効率的かつ簡潔にするための構文で、コードの可読性が大きく向上します。是非、この演算子を活用して、よりクリーンなコードを書いていきましょう。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ