さて、遅ればせながら電卓アプリを作り始めてみましょう。
と、思ったのですが、ひとつ大切な事を確認し忘れていました。
それは4種類の演算子のなかでも(-:マイナス)の取り扱い方法についてです。
厳密に言えば(+:プラス)も同じなのかも知れませんが、この演算子には以下の2つの働きがあります。
- 二つの数値の差を求めるの減算演算子としての働き
- 負値を指し示す、いわゆる単項マイナス演算子としての働き
です。
さて、この動きを実際の電卓で確認してみました。
※ [ ]の単位が順番に押したボタンを示します。
[1] [-] [-] [1] [=] 表示結果: 0
[-] [1] [-] [-] [1] [=] 表示結果:-2
[1] [+] [-] [1] [=] 表示結果: 0
[1] [-] [+] [1] [=] 表示結果: 2
[-] [1] [+] [-] [1] [=] 表示結果:-2
[-] [1] [-] [+] [1] [=] 表示結果: 0
[2] [*] [-] [2] [=] 表示結果: 0
[2] [-] [*] [2] [=] 表示結果: 4
[-] [2] [*] [-] [2] [=] 表示結果:-4
[-] [2] [-] [*] [2] [=] 表示結果:-4
直前の上2つの式は同じ値を示すので数値を変更した式の結果が↓
[-] [2] [*] [-] [3] [=] 表示結果:-5
[-] [2] [-] [*] [3] [=] 表示結果:-6
どうやら一般の電卓では最初の値には正の値と負の値を区別するための単項マイナス演算子を識別するが、数値の後の(-:マイナス)は演算子としての働きを識別し、その演算子は2番目の数値入力の直前に押された演算子が適用される様です。
と、言うことで…
この電卓の(-:マイナス)の扱いはどうしましょう?