add length.

This commit is contained in:
Jan Nieuwenhuizen 2016-07-11 00:21:45 +02:00
parent 270e272acc
commit 9a699da5c5
3 changed files with 20 additions and 1 deletions

2
TODO
View File

@ -15,7 +15,7 @@ v "string"
assq
call-with-values
v char?
length
v length
v list
list->vector
make-vector

12
mes.c
View File

@ -560,6 +560,18 @@ string_length (scm *x)
return make_number (strlen (x->name));
}
scm *
length (scm *x)
{
int n = 0;
while (x != &scm_nil)
{
n++;
x = cdr (x);
}
return make_number (n);
}
scm *
lookup (char *x, scm *a)
{

View File

@ -182,4 +182,11 @@
(display (string #\a #\space #\s #\t #\r #\i #\n #\g #\newline))
(newline)
(display "length of nil: ")
(display (length '()))
(newline)
(display "length of '(a b c): ")
(display (length '(a b c)))
(newline)
'()