2011-08-22 14 views
5

Schema/Racchetta hanno una notazione di enumerazione equivalente alla notazione [a..b] in Haskell?
In Haskell, [1..5] valuta un elenco [1,2,3,4,5].Schema/Racchetta hanno un'operazione di enumerazione?

+2

Il punto di vendita di Lisp è la sintassi minima. Quindi, invece della notazione speciale, come '[a..b]', ci sono funzioni che realizzano la stessa cosa. –

risposta

10
  1. (for/list ([i (in-range 1 6)]) i)

  2. (sequence->list (in-range 1 6))

  3. (require srfi/1) (iota 5 1)

4
  1. (for/list ([i 5]) (+ 1 i))

  2. (build-list 5 add1)

Inoltre, (in-range 1 6) (che è un sequence) da solo è utile in molti contesti.

+0

Per ottenere il comportamento più simile a Haskell, utilizzare 'build-list' Lazy Racket che è (a sorpresa) pigro. –