|
From: | Urs Liska |
Subject: | Re: [SPAM] Re: Validating a Scheme list |
Date: | Thu, 15 May 2014 11:26:20 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.0 |
Am 15.05.2014 10:26, schrieb David Kastrup:
Urs Liska <address@hidden> 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 --
[Prev in Thread] | Current Thread | [Next in Thread] |