Am 15.05.2014 10:26, schrieb David Kastrup:
Urs Liska <[email protected]> writes:Hi all, I am working on a Scheme function and would like to check if I have found the best solution for a specific subpart. Somehow it looks more complicated than necessary. The function needs to test if each element of a given list is a (sub)list with exactly two elements. So '((1 2)(3 4)) would return #t while '((5 6)(7 8 9)) would return #f. My solution is \version "2.19.6" validate = #(define-scheme-function (parser location lst) (list?) (if (memv #f (map (lambda sigWhy (lambda sig ... rather than (lambda (sig) ... here and consequently (car sig) instead of sig below?
getting lost maybe? ;-)
(and (list? (car sig)) (= 2 (length (car sig))))) lst)) (display "invalid") (display "valid")) (newline))(if (every (lambda (sig) (eqv 2 (length+ sig))) lst) (display "valid") (display "invalid"))
Apart from that it's "eqv?" this works perfectly and is (other than Orm's solution) simple to incorporate in my actual function.
Thanks Urs -- _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
