2015-10-03 71 views

回答

4

有一個程序是:stream->list。例如:

(define s (stream 1 2 3 4 5)) 
(stream->list s) 
=> '(1 2 3 4 5) 

請務必檢查documentation,也有操作該鏡像可用於列出的那些流幾個程序。

3

有一個直接命名爲stream->list的函數。它是從racket/stream庫提供的,您可以看到許多其他類似於流的列表功能,包括stream-map

(但如果你正在使用的,請注意,這個庫可以擁有的使用流作爲嚴重的性能損失。)

1

除了stream->list,還有一個更通用的sequence->list,將任何sequence?變成一個列表。

> (sequence->list (stream 1 2 3)) 
'(1 2 3) 
> (sequence->list "abc") 
'(#\a #\b #\c) 
> (sequence->list (set 1 2 3)) 
'(1 2 3)