|
Last change
on this file was
13186,
checked in by Mark Evenson, 15 years ago
|
|
Add a slightly simpler example of implemeting a Java interface in Lisp.
TODO Needs further documentation.
|
|
File size:
900 bytes
|
| Line | |
|---|
| 1 | import org.armedbear.lisp.Interpreter; |
|---|
| 2 | import org.armedbear.lisp.Symbol; |
|---|
| 3 | import org.armedbear.lisp.Packages; |
|---|
| 4 | import org.armedbear.lisp.JavaObject; |
|---|
| 5 | import org.armedbear.lisp.LispObject; |
|---|
| 6 | |
|---|
| 7 | public class BankExampleMain |
|---|
| 8 | { |
|---|
| 9 | static public void main(String argv[]) { |
|---|
| 10 | Interpreter interpreter = Interpreter.createInstance(); |
|---|
| 11 | interpreter.eval("(load \"bank-account.lisp\")"); |
|---|
| 12 | org.armedbear.lisp.Package defaultPackage |
|---|
| 13 | = Packages.findPackage("CL-USER"); |
|---|
| 14 | Symbol bankAccountImplSymbol |
|---|
| 15 | = defaultPackage.findAccessibleSymbol("*BANK-ACCOUNT-IMPL*"); |
|---|
| 16 | LispObject value = bankAccountImplSymbol.symbolValue(); |
|---|
| 17 | Object object = ((JavaObject) value).getObject(); |
|---|
| 18 | BankAccount account = (BankAccount) object; |
|---|
| 19 | System.out.println("Initial balance: " + account.getBalance()); |
|---|
| 20 | account.withdraw(500); |
|---|
| 21 | System.out.println("After withdrawing 500: " + account.getBalance()); |
|---|
| 22 | } |
|---|
| 23 | } |
|---|
Note: See
TracBrowser
for help on using the repository browser.