2.6 制御文との組合せ

2.22.3節に示した部分アイテム集合を全列挙する一連の流れは、 制御文と組み合わせることでも実現できる。 その例を以下に示す。 以下の例ではsymbol関数によるアイテムの宣言はせず、直接itemset関数によりアイテム集合を定義している。 そして乗算代入演算子*=によりruby変数tに、次々と演算結果を累積していっている。

> t=ZDD::constant(1)
> ["a","b","c","d"].each{|item|
>  t*=(ZDD::itemset(item)+1)
> }
 a b c d + a b c + a b d + a b + a c d + a c + a d + a + b c d + b c +
  b d + b + c d + c + d + 1