真理値表を取得して、それをコンパクトなifブロックに変換するにはどうすればよいですか?
たとえば、AとBが条件であり、x、y、zが可能なアクションであるこの真理値表があるとします。
A B | x y z
-------------
0 0 | 0 0 1
0 1 | 0 0 1
1 0 | 0 1 0
1 1 | 1 0 0
ブロックの場合、これは以下に変換できます。
if(A)
{
if(B)
{
do(x)
}
else
{
do(y)
}
}
else
{
do(z)
}
これは簡単なサンプルですが、多くの場合、さまざまな方法で組み合わせてさまざまな出力を生成するいくつかの条件があり、ifブロックでロジックを表現する最もコンパクトでエレガントな方法を見つけるのは困難です。