2010-10-27 5 views

Respuesta

7

Tanto Common Lisp y elisp tienen length:

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

Puede utilizar recursion si desea implementar esto usted mismo.

2 listas son del mismo tamaño si están vacías. Son de diferente tamaño si uno está vacío y el otro no. Y si ninguno de éstos es cierto, que son del mismo tamaño de comparación de esas listas como sans un elemento (es decir, sus cdr -s)

+0

Creo que significaba "i.e." no "por ejemplo". Tu respuesta tiene más sentido si es tarea. –

+0

Sí, se supone que es así. Fijo. Y me huele a los deberes :) – DVK

+0

¿deberes? jaja, supongo, es del trabajo, código de un compañero de trabajo del que estoy tratando de aprender. No tengo un buen "iniciador" – Firoso

0

No hay necesidad de usar explícitamente la longitud dos veces.

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

Esto puede parecer un esfuerzo inútil, pero con nombres de funciones más largos, este tipo de cosas es útil.

También esperaba demostrar un nuevo concepto.

DRY (no te repitas)

Cuestiones relacionadas