问题
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:
(for/list ([i (in-range 1 6)]) i)
(sequence->list (in-range 1 6))
(require srfi/1) (iota 5 1)
回答2:
(for/list ([i 5]) (+ 1 i))
(build-list 5 add1)
Also, (in-range 1 6)
(which is a sequence) by itself is useful in many contexts.
来源:https://stackoverflow.com/questions/7144248/does-scheme-racket-have-an-enumeration-operation