Re: (Mastermind) puzzle (with 3 digits) -- Elegant (readable) code Sought

Liste des GroupesRevenir à cl scheme 
Sujet : Re: (Mastermind) puzzle (with 3 digits) -- Elegant (readable) code Sought
De : No_spamming (at) *nospam* noWhere_7073.org (B. Pym)
Groupes : comp.lang.scheme
Date : 26. May 2024, 10:11:11
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v2uqqu$3b7ev$1@dont-email.me>
References : 1 2 3 4
User-Agent : XanaNews/1.18.1.6
On 3/1/2024, Andreas Eder wrote:

I would write it without the second define using a named let:
 
(define (range n)
  (let go ((n n) (a '()))
    (if (< n 0)
        a
        (go (1- n) (cons n a)))))

Looks good.

Using "do":

(define (range n)
  (do ((i n (- i 1))
       (a '() (cons i a)))
    ((< i 0) a)))


Using "unfold-right" in Gauche Scheme:

(use srfi-1)

Gauche doesn't have "1-".

(define (1- n) (- n 1))

(define (range n) (unfold-right negative? values 1- n))

(range 9)
  ===>
(0 1 2 3 4 5 6 7 8 9)



Date Sujet#  Auteur
26 May 24 o Re: (Mastermind) puzzle (with 3 digits) -- Elegant (readable) code Sought1B. Pym

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal