Groups | Search | Server Info | Login | Register
Groups > comp.lang.lisp > #60601
| From | "B. Pym" <Nobody447095@here-nor-there.org> |
|---|---|
| Newsgroups | comp.lang.lisp |
| Subject | Re: Functions on generic sequences |
| Date | 2025-08-05 09:47 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <106sjus$2m83m$1@dont-email.me> (permalink) |
| References | <104vgfn$2k6u3$1@dont-email.me> |
B. Pym wrote:
> Kenny Tilton wrote:
>
> > > What if the sequence is empty?
> > >
> > > (defun average (sequence)
> > > (let ((len 0)
> > > (sum 0))
> > > (map nil #'(lambda (elt)
> > > (incf len)
> > > (incf sum elt))
> > > sequence)
> > > (if (zerop len)
> > > 0
> > > (/ sum len))))
> >
> > (defun average (sequence &key (key #'identity) &aux (len 1))
> > (/ (reduce (lambda (x y)
> > (incf len)
> > (+ x y))
> > sequence :key key :initial-value 0)
> > len))
>
> Testing:
>
> * (average '(2 3 4))
>
> 9/4
>
> Incorrect.
>
>
> Gauche Scheme
>
> (define (average seq)
> (let1 len 0
> (if (null? seq)
> 0
> (/ (fold (lambda (x sum) (inc! len) (+ x sum))
> 0
> seq)
> len))))
(defun average (seq)
(if seq
(do ((sum 0 (+ sum (pop seq)))
(i 0 (+ 1 i)))
((not seq) (/ sum i)))
0))
Back to comp.lang.lisp | Previous | Next — Previous in thread | Find similar
Re: Functions on generic sequences "B. Pym" <Nobody447095@here-nor-there.org> - 2025-07-13 05:33 +0000 Re: Functions on generic sequences "B. Pym" <Nobody447095@here-nor-there.org> - 2025-08-05 09:47 +0000
csiph-web