Difference between revisions of "Scheme for Java Programmer"
Line 1: | Line 1: | ||
+ | {{Admon/obsolete}} | ||
+ | |||
<h1>NexJ-Scheme combines the powers of Scheme and Java. You can get the best of both.</h1> | <h1>NexJ-Scheme combines the powers of Scheme and Java. You can get the best of both.</h1> | ||
Latest revision as of 21:45, 26 January 2014
NexJ-Scheme combines the powers of Scheme and Java. You can get the best of both.
String >>>>>>>> in Java String st = new String("Seneca"); st = st.replace("e", "u"); System.out.println(st); // Sunuca >>>>>>>> in Scheme (define st (java.lang.String'new "Seneca")) (set! st (st'replace "e" "u" )) (display st) ; Sunuca - - - - - - - - - - - - - - - - - - - - - - - - - - - - if >>>>>>>> in Java int x = 3, y = 5, large = 0; if (x > y) large = x; else large = y; System.out.print(large); // 5 >>>>>>>> in Scheme (define x 3) (define y 5) (define large 0) (if (> x y) (set! large x) (set! large y) ) (display large) ; 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - for >>>>>>>> in Java for (int i = 0; i < 10; i++) System.out.print(i); // 0123456789 >>>>>>>> in Scheme (for ((i 0)) (< i 10) (set! i (+ i 1)) (display i) ; 0123456789 ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - While >>>>>>>> in Java int n = 0; while(n < 10){ System.out.print(n); n++; } // 0123456789 >>>>>>>> in Scheme (define n 0) (while (< n 10) (display n) (set! n (+ n 1)) ) ; 0123456789 - - - - - - - - - - - - - - - - - - - - - - - - - - - - Switch Case >>>>>>>> in Java int x = 7; String st = ""; switch (x){ case 1: st = "one"; break; case 3: st = "three"; break; case 7: st = "seven"; break; default: st = "else"; } System.out.println(st); >>>>>>>> in Scheme (define x 7) (define st "") (case x ((1) (set! st 'one)) ((3) (set! st 'three)) ((7) (set! st 'seven)) (else (set! st 'else)) ) (display st) ; seven - - - - - - - - - - - - - - - - - - - - - - - - - - - - Iterator >>>>>>>> in Java ArrayList numbers = new ArrayList(); for (int i = 0; i < 10; i++) numbers.add(i); for (Iterator iterator = numbers.iterator(); iterator.hasNext();) System.out.print(iterator.next()); // 0123456789 >>>>>>>> in Scheme (import 'java.util.ArrayList) (define numbers (java.util.ArrayList'new)) (for ((i 0)) (< i 10) (set! i (+ i 1)) (numbers'add i) ) (for ((it (numbers'iterator))) (it'hasNext) () (write (it'next)) ; 0123456789 ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - Try and Catch >>>>>>>> in Java try { int x = 1 /0; } catch (ArithmeticException e) { e.printStackTrace(); } finally{ System.out.println("finally"); } // java.lang.ArithmeticException: / by zero // finally >>>>>>>> in Scheme (try (define x (/ 1 0)) (lambda (e) e) (display "finally") ) ; finally ; #<java.lang.ArithmeticException: / by zero>