逆ポーランド法(RPN)電卓が好きすぎて、iOSアプリを作ってしまった

RPN電卓が好きだー!

おそらく、id:masanobuimaiさんのIntelliJが好きだー!ぐらいに 私はRPN電卓が好きなんです。 Macの電卓も

f:id:xibbar:20141003222219p:plain

この状態ですし、iOSの電卓も https://itunes.apple.com/jp/app/active-rpn-calculator/id317847341?mt=8&uo=4&at=10l8JW&ct=hatenablog これが愛用でした。

逆ポーランド法電卓とはなんぞや?

メリットから説明する逆ポーランド法講座です。

(1+2)x(3+4)

ふつうの電卓を使っているみなさんはこれをどうやって計算しますか?

1+2=

をM+して、

3+4=

した後に

x MR =

ですね。(挙動は電卓によりますが。)

さて、RPN電卓だとこうなります。

1 Enter 2+ 3 Enter 4+ x

動画で撮ってみました。


RPN Calculator

スタックに入れた値に対して、計算しているのがわかります。 使えりゃいいんだから表記なんてどうでもいいと私は思っているのですが、RPNの表記としては、

1 2 + 3 4 + x

と表記します。知らなくても電卓使えるので私はどうでもいいのですが、特長としてはカッコは要りません。おそらく、どんな計算でもカッコは不要です。

((1x2)+(3x4))x((5x6)+(7x8))

このような計算は、RPN的には

1 2 x 3 4x + 5 6 x 7 8 x + x

こんな感じです。電卓的には値をスタックに押しこむにはEnterが必要なので、

1 Enter 2 x 3 Enter 4x + 5 Enter 6 x 7 Enter 8 x + x

となります。


RPN Calculator

RPN電卓のメリットはスタックを使えることです。 慣れると普通の電卓に戻れなくなってしまいました。

Active RPNが使えなくなってしまった

私はiPhoneでは以下のActive RPNを長い間愛用していました。

https://itunes.apple.com/jp/app/active-rpn-calculator/id317847341?mt=8&uo=4&at=10l8JW&ct=hatenablog

しかし、Active RPNは2009年に開発がとまってしまい、iPhone5からはなんだかギザギザ画像でした。それでも愛用していたのですが、iOS6からはテザリングすると、一切の操作を受け付けないという何かのバグに引っかかってしまい、なんとも使い物にならなくなってしまいました。他のを使えばいいじゃない?と思うかもしれませんが、RPN電卓の定番はHPの12Cなのですが、見ての通りのデザインです。

HP 12C Financial Calculator

HP 12C Financial Calculator

不満は2つ。

  • キーが小さくて使いづらい(多機能のトレードオフですが)
  • スタックが見えない(最低3つぐらいを表示して欲しい)

です。私はそんなに変な計算は多くないので、シンプルなもので十分なのです。必要な条件としては、

  • RPN電卓
  • キーが大きくて押しやすい
  • 値の消去がしやすい(Dropしやすい)
  • スタックが3つぐらい常に見える
  • 小数点以下がゼロの場合は表示しない

たったこれだけなのですが、満足するものがありませんでした。探せばあるかもしれませんが、面倒くさくなってました。

作ってみた

そういうわけでカッときて勉強がてら作ったのが

https://itunes.apple.com/jp/app/xrpn/id918330293?mt=8&uo=4&at=10l8JW&ct=hatenablog

これです。(バグがあります。起動していきなりEnterで落ちますwww) でも、私は自分で使いやすいRPN電卓を手に入れたのでした。 通常の卓上電卓でも、HP以外にCASIOとかCANONとか作ってくれないかなと思うのでした。