如何将列表变成多个 return 值?
How do I turn a list into multiple return values?
假设我有一个列表,但我想将它转换成values
。例如:
(define (f mylist)
(values ...)) ; <- What do I write here?
如果我调用 (f '(1 2 3))
,我希望得到与 (values 1 2 3)
相同的结果。我该怎么做?
只需使用apply
:
(define (f mylist)
(apply values mylist))
你会得到想要的结果:
(f '(1 2 3))
=> 1
2
3
假设我有一个列表,但我想将它转换成values
。例如:
(define (f mylist)
(values ...)) ; <- What do I write here?
如果我调用 (f '(1 2 3))
,我希望得到与 (values 1 2 3)
相同的结果。我该怎么做?
只需使用apply
:
(define (f mylist)
(apply values mylist))
你会得到想要的结果:
(f '(1 2 3))
=> 1
2
3