3
in-range
在Racket中返回一個流。在racket/stream
庫的流上定義了很多功能。不過,我不能使用srfi/41
上的功能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