Am 15.05.2014 10:26, schrieb David Kastrup:
Urs Liska <u...@openlilylib.org> 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 sig
Why (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
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user