File: bank-account.lisp

package info (click to toggle)
abcl 1.9.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 12,064 kB
  • sloc: lisp: 63,756; java: 63,092; xml: 4,300; sh: 409; makefile: 25; awk: 3
file content (19 lines) | stat: -rw-r--r-- 509 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(defparameter *bank-account-impl*
  (let ((balance 1000))
    (jinterface-implementation
     "BankAccount"

     "getBalance" 
       (lambda ()
         balance)
     "deposit" 
        (lambda (amount) 
          (let ((amount (jobject-lisp-value amount)))
            (setf balance (+ balance amount))))
     "withdraw" 
       (lambda (amount)
         (let ((amount (jobject-lisp-value amount)))
           (setf balance (- balance amount)))))))

(defun get-bank-account-impl () 
  *bank-account-impl*)