Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

再帰を使って3変数の真理値を出力する(Ruby編)

再帰による(b0 || b1 && !b2)の真理値表です。
このソースは引用元のC言語によるコードをお手本としています。


実行結果

$ ruby truth-table.rb 
        b0,     b1,     b2,     (b0 || b1 && !b2)
        ****************************************
        F,      F,      F,      F
        F,      F,      T,      F
        F,      T,      F,      T
        F,      T,      T,      F
        T,      F,      F,      T
        T,      F,      T,      T
        T,      T,      F,      T
        T,      T,      T,      T
nil

この手のものは変数が増えるほど地獄のネスト構造が待っています。
再帰を使えば、そういう論理も割とシンプルに書く事ができます。

小並感

再帰表現といえば階乗というレベルからの挑戦でした。
今回は何とか動きを追えましたが……少し捻られたら間違いなく脳細胞が壊死します(
そのうち将来の自分のために動作を見せるgif画像でも作りかも知れません。

参照もと

再帰の技法??基本的考え方・アルゴリズム・プログラミング

再帰の技法??基本的考え方・アルゴリズム・プログラミング