in-range
in Racket はストリームを返します。racket/stream
ライブラリからのストリームで定義された関数がたくさんあります。stream-take
ただし、それらから関数を使用することはできませんsrfi/41
。実行したかった
(stream-take 5 (in-range 10))
それは不平を言ったstream-take: non-stream argument
。
(stream->list (stream-cons 10 (in-range 10)))
上記は次のエラーをスローします。
stream-promise: contract violation;
given value instantiates a different structure type with the same name
expected: stream?
given: #<stream>
でも:
(stream->list (stream-cons 10 stream-null)) ;; works
(stream->list (stream-cons 10 empty-stream)) ;; works
どちらも正常に動作します。
racket/stream
上記は、とからのストリームsrfi/41
が互換性がないことを意味しますか? racket/stream
車輪を再発明せずにストリームから 10 個のアイテムを取得するにはどうすればよいですか?
ラケット 5.3.3