さて、今号の Rubyist Magazine はいかがでしたか? 読むばかりでは手は鈍ってしまうので、最後に夏休みの宿題です。
今号の「Rubyist のための他言語探訪」に、「ポーランド記法 (前置記法)」と「逆ポーランド記法 (後置記法)」というものが登場しました。 今回はこれら 2 つの記法の相互変換を行ってみてください。元のデータは、”+ 0 1” のように文字列でも [:+, 0, 1] のような配列による表現でも構いません。 対象とする演算子は、整数の四則演算子 (“+”, “-“, “*”, “/”) です。 ただし、それぞれの演算子は引数を 2 つとり、変換対象の式には括弧を含まないものとします。 そして、少なくとも、次のものを相互に変換できることを確認してください。
ポーランド記法 | - + 1 / 2 2 + 3 * 4 5 |
逆ポーランド記法 | 1 2 2 / + 3 4 5 * + - |
また、これだけではつまらない人は、(1) 変換の様子を何らかの方法で可視化し、(2) 計算結果を表示させてみても良いでしょう。