Does Scheme/Racket have an enumeration operation?

2019-05-03 09:16发布

问题:

Does Scheme/Racket have an enumeration notation equivalent to the [a..b] notation in Haskell?
In Haskell, [1..5] evaluates to a list [1,2,3,4,5].

回答1:

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

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

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



回答2:

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

  2. (build-list 5 add1)

Also, (in-range 1 6) (which is a sequence) by itself is useful in many contexts.