Workshop/MiracleHaskell/020
日時
2012/11/09
内容
次回は Heathrow to London から再開します。
宿題
Reverse Polish notation calculator
逆ポーランド記法電卓(Reverse Polish notation calculator)を上記のURLでは作りました。 ところで 一般の電卓 には“メモリ”という機能があります。 そこで、逆ポーランド記法電卓に以下の演算子を追加してください。
- “M+”: メモリ上の値にスタックの最上位の値を足して、メモリに記憶させておく
- “M-”: メモリ上の値からスタックの最上位の値を引いて、メモリに記憶させておく
- “MC”: メモリに0を記憶させる
- “MR”: 現在のメモリの値をスタックの最上位に積む(M+とM-で入れた数の合計)
“メモリ”は1つだけで、その初期値は0としてください。 実行例は以下です。
ghci> solveRPN "1 2 M+ 3 M+ MR sum"
11.0