2011-08-22 20 views
5

Scheme/RacketにはHaskellの[a..b]表記法に相当する列挙表記法がありますか?
ハスケルで[1..5]はリスト[1,2,3,4,5]を評価します。Scheme/Racketには列挙操作がありますか?

+2

Lispの販売時点は、最小限の構文です。だから '[a..b]'のような特別な表記の代わりに、同じことを実現する関数があります。 –

答えて

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)

また、それ自体で(sequenceある)(in-range 1 6)は、多くの状況において有用です。

+0

Haskellのような動作をさせるには、(驚いた)怠惰なLazy Racketの 'build-list'を使います。 –

関連する問題