Page 1 of 1

case

Posted: Tue Dec 04, 2012 9:17 pm
by kesha
Hi All,
how can perform multiple checks.

Code: Select all

(define	(test-case KEY)
  (case KEY
    (0 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (1 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (2 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (3 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (4 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (5 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (6 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (7 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (8 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (9 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (true (println "END CASE..."))))

Re: case

Posted: Tue Dec 04, 2012 10:22 pm
by cormullion
Perhaps you explain what you want to do a bit more?

The most flexible and readable form for condition testing is probably cond.

Re: case

Posted: Wed Dec 05, 2012 3:12 am
by kesha
It's just food for thought on the use of recursion.
If refined, could get interesting.
For example:

Code: Select all

#!/usr/bin/env newlisp                                                                     

(define (test-case KEY)
  (case KEY
    (0 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (1 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (2 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (3 (begin (println "KEY => " KEY)(test-case (++ KEY))))
    (true (println "END CASE..."))))

(test-case 0)

(exit)
; eof

-------------------------------------------------------------

KEY => 0
KEY => 1
KEY => 2
KEY => 3
END CASE...