(define make-account (lambda(balance) (define get-balance (lambda() balance)) ; (define deposit (lambda(amount) (define balance (add balance amount)) balance)) ; (define withdraw (lambda(amount) (if (gep balance amount) ((lambda() (define balance (sub balance amount)) balance)) false))) ; (define print-account (lambda() (ndisp! balance))) ; (define self (lambda(msg) (if (equaln msg one) get-balance (if (equaln msg two) deposit (if (equaln msg three) withdraw (if (equaln msg four) print-account false)))))) self)) ; |
Georg P. Loczewski 2004-03-05