Taschenrechner
2 Varianten von Rechnern:
- Taschenrechner (Tasten mit Zahlen, Operationen)
- UI aufwendiger, Logik einfach.
- Eingabe einer Rechnung (wie z.B. 3+4*5)
- UI einfach, Logik anspruchsvoll, ausser man benutzt einfach 'eval'
Taschenrechner
- UI: Tabelle mit Zahlen, Symbolen. Event-Callback in eine einzige Funktion. Diese erhält in
this
eine Referenz auf den Knopf. - Das Programm muss sich jeweils das Zwischenresultat und die Operation merken
Ausdruck parsen
- Allgemeiner Parser ist anspruchsvoll
- Beschränkung auf Ganze Zahlen und * und + ohne Klammern:
- In der Zeichenkette * suchen, Zahlen vorher und nachher auslesen, verrechnen, in der Zeichenkette mit Resultat ersetzen.
- Dann mit +
- Am Einfachsten die Zeichenkette erst in “Tokens” zerlegen, z.B. aus 3+42*5 wird das Array ['3', '+', '42', '*', '5'].