プログラマーならば誰しも、if文の条件式等に現れる、複雑な論理式の解析に頭を悩ませた経験があることでしょう。複雑な条件式をif文の中に記述するのが悪いという説もありますが、人の書いたプログラムを解析する場合は、そうもいっていられないからです。
今回紹介する「Conditional」は、そんな悩めるプログラマーにオススメのWebサービスです。
論理式の取りうる値を全て可視化して表にしてくれるので、式を書き直した時に、真偽値が同じかどうかをサクッと確認することができます(GitHub)。
目次
ド・モルガンの法則が理解できる!
例えば、有名なド・モルガンの法則によると、「!(P && Q) == !P || !Q」が成り立つことが知られています。
Conditionalで、この2つの式をセミコロン区切りで入力してみると、真偽値が全く同じパータンになっていることが確認できます(変数名はことなりますが)。つまり論理式が書き換え可能なわけで、「ド・モルガンの法則は正しかった!」ということが直感的に理解できます。
Redditによると、同様なサービスとしてWolframAlphaというものが存在しているそうですが、Conditionalの作者は、プログラミングで使われる「!」を使いたくてこのプログラムを作成したとのこと。
ソースコードが公開されているので、どういう仕組みになっているのか参考にしたい方にも役立ちそうです。