如何将列表转换为多个返回值?
假设我有一个列表,但我想将其转换为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