2012年3月12日月曜日

Dartで関数型のエイリアスを使う

このエントリーをはてなブックマークに追加
Dartではtypedefで型のエイリアス(別名)を定義できます。
// 「num型の引数を2つ受け取りbool型の値を返す」関数型のエイリアス
typedef bool Comparator(num, num);

void func(Comparator c) {
  // 処理
}

main() {
  Comparator c = (a, b) => a > b;
  func(c);
}
typedefによって定義されたエイリアスも型ですので、isによる型の判定ができます。
print(c is Comparator); // true
ただし現時点では関数型だけに使えます。今後は他の型でも使えるようになるかもしれません。

0 件のコメント:

コメントを投稿