LENGTH function works for arrays (vectors)
authorDavid Vázquez <davazp@gmail.com>
Sun, 20 Jan 2013 16:06:53 +0000 (16:06 +0000)
committerDavid Vázquez <davazp@gmail.com>
Sun, 20 Jan 2013 16:06:53 +0000 (16:06 +0000)
ecmalisp.lisp

index 80f2344..03f2988 100644 (file)
       l))
 
   (defun length (seq)
-    (if (stringp seq)
-        (string-length seq)
-        (list-length seq)))
+    (cond
+      ((stringp seq)
+       (string-length seq))
+      ((arrayp seq)
+       (get "length" seq))
+      ((listp seq)
+       (list-length seq))))
 
   (defun concat-two (s1 s2)
     (concat-two s1 s2))