2010-10-27 10 views

Odpowiedz

7

Zarówno Common Lisp i elisp mieć length:

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

Możesz użyć rekursji, jeśli chcesz ją wdrożyć samodzielnie.

2 listy mają ten sam rozmiar, jeśli są puste. Są one różnej wielkości, jeśli jedna jest pusta, a druga nie. A jeśli żaden z nich nie jest prawdą, że są tej samej wielkości jak porównywania tych wykazach sans jeden element (czyli ich cdr -s)

+0

Myślę, że chodziło Ci o "ie". nie "np.". Twoja odpowiedź ma więcej sensu, jeśli jest to praca domowa. –

+0

Tak, tzn. Tak powinno być. Naprawiony. I pachnie do mnie homeworkiyish :) – DVK

+0

homeworkish? Myślę, że to z pracy, kodu od współpracownika, od którego próbuję się nauczyć seplenienia. Nie mam dobrej metody "primer" – Firoso

0

Nie ma potrzeby jawnie użyj długości dwa razy.

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

To może wydawać się zmarnowanym wysiłkiem, ale przy dłuższych nazwach funkcji takie rzeczy są przydatne

Miałem także nadzieję, że zaprezentuję nową koncepcję.

DRY (nie powtarzaj się)

Powiązane problemy