Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Det "eneste" denne modulen gjør er å deklarere og initialisere operands-variablen og tilhørende funksjoner. Ingen Når modulen kjøres/aktiveres så opprettes som vanlig et notatark kalt rpncalc4core hvor alle variablene og funksjonene noteres ned. Imidlertid blir ingen av funksjonene blir kjørt av modulen selv, de må kalles utenfra, av kode i andre moduler.

rpncalc4ui-modulen

Denne modulen håndterer interaksjon med brukeren og inneholder bare main-metoden (fra rpncalc3.py) og et enkelt kall til denne, altså hovedprogrammet som kjøres av brukeren. Det viktigste nye er koblingen til rpncalc4core-modulen:

  • import-setningen brukes for å angi at rpncalc4core-modulen skal brukes/aktiveres.
  • rpncalc4core. (merk punktumet) som prefix foran funksjonsnavnene printOperands, isOperand, pushOperand, plus og minus, for å angi at disse ligger i den andre modulen.

En kan tenke på import-setningen som et slags kall til eller aktivering av den andre modulen, bortsett fra at dette bare skjer én gang. Så selv om flere moduler i samme program importerer rpncalc4core, så vil vi bare ha ett rpncalc4core-ark med én operands-variabel.

 

Code Block
# rpncalc4ui.py
import rpncalc4core
 
def
Code Block
 def main():
    while (True):
        rpncalc4core.printOperands()
        token = raw_input(" > ")
        if rpncalc4core.isOperand(token):
            operand = float(token)
            rpncalc4core.pushOperand(operand)
        elif token == "exit":
            break
        elif token == "+":
            rpncalc4core.plus()
        elif token == "-":
            rpncalc4core.minus()
        else:
            print("Unsupported operator: " + token)
    print("program exited")
 
main()

...