Re: simple loop question

Liste des GroupesRevenir à cl lisp 
Sujet : Re: simple loop question
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lisp
Date : 05. Jul 2025, 13:15:24
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <104b50q$1fvo8$1@dont-email.me>
References : 1
User-Agent : XanaNews/1.18.1.6
B. Pym wrote:

Lars Brinkhoff wrote:
 
use LOOP to collect random integers into a list until the sum of that
list exceeds a constant (say 50).
 
(loop for x = (random 10) collect x sum x into y until (> y 50))
 
Gauche Scheme
 
(use srfi-27 :only (random-integer))
(define random random-integer)

Not too efficient.

(collect-till (_ z) (random 10) (> (apply + z) 50))


Given:

(define-syntax collect-till
  (syntax-rules ()
    [ (collect-till (x bag) expr test)
      (collect-till (x bag) expr test #f) ]
    [ (collect-till (x bag) expr test include-ender)
      (let go ((bag '()))
        (let ((x expr))
          (if test
            (if include-ender
              (reverse (cons x bag))
              (reverse bag))
            (go (cons x bag))))) ]
    [ (collect-till x expr test)
      (collect-till (x bag) expr test) ]
    [ (collect-till x expr test include-ender)
      (collect-till (x bag) expr test include-ender) ] ))

Date Sujet#  Auteur
24 Jun 25 * Re: simple loop question5B. Pym
25 Jun 25 +- Re: simple loop question1Kaz Kylheku
25 Jun 25 +- Re: simple loop question1B. Pym
28 Jun 25 +- Re: simple loop question1B. Pym
5 Jul13:15 `- Re: simple loop question1B. Pym

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal