2010-10-27 11 views

Antwort

7

Beide Common Lisp und elisp haben length:

(defun samesize (list1 list2) 
    (= (length list1) (length list2))) 
2

Sie können Rekursion verwenden, wenn Sie dies selbst implementieren möchten.

2 Listen haben die gleiche Größe, wenn sie beide leer sind. Sie sind unterschiedlich groß, wenn einer leer ist und der andere nicht. Und wenn keiner von ihnen wahr, sie sind von der gleichen Größe-Vergleich wie diese Listen sans ein Element (dh ihre cdr -s)

+0

Ich denke, Sie meinten "d. H." nicht "z.B.". Deine Antwort macht mehr Sinn, wenn es Hausaufgaben sind. –

+0

Ja, d. H. Es soll sein. Fest. Und es riecht mir heimisch :) – DVK

+0

heimlich? lol ich schätze, es ist von der Arbeit, Code von einem Kollegen, von dem ich lerne lernen möchte. Ich habe keine gute "Grundierung" – Firoso

0

Keine Notwendigkeit, explizit Länge zweimal verwenden.

(defun samesize (l1 l2) 
    (apply #'= (mapcar #'length (list l1 l2))) 

wie vergebliche Mühe Dies mag, aber diese Art der Sache mit längeren Funktionsnamen ist nützlich.

Ich hoffte auch, ein neues Konzept zu demonstrieren.

TROCKEN (wiederholen Sie nicht)

Verwandte Themen