情報通信系学生の勉強メモ

勉強したことを書いていきます

erlangで逆ポーランド記法

すごいerlangという本に沿って勉強しています。

ブログに勉強したことをまとめれば自分の助けになるかなと思いブログを始めることにしました。

 

本を8章まで読んだのですが、erlang逆ポーランド記法を計算させるコードの練習問題をやってみました。

gist3ad2e7d677d25998cf21

rpn:calc("2 4 3 + +")みたいな感じで実行すると空白毎に読み込んで逆ポーランド記法の手順で計算してくれます。

逆ポーランド記法の計算手順はスタックのようになっているので簡単です。数字が読み込まれたらスタックに置いて、演算子や関数が来たらスタック上の数字を作用させるだけです(言葉の使い方間違ってるかも笑)

練習としてサンプルのコードに加えてsumとprogの計算を追加してみました。progというのは僕も初めて聞きましたが数学でいう大文字のπみたいなものです。数字を全部掛ければいいみたいです。

 

関数型のプログラミングは難しいですが、数学のように表すことが出来るので面白いですね。erlangは日本で使ってる人が少ない言語ですが、めげずに頑張りたいです^^;