在球拍中,可以通过执行以下操作从一个函数返回多个值。
(define (foo)
(values 1 2 3))然后,我们可以通过执行以下操作来绑定它们
(define-values (one two three) (foo))现在,one绑定到1,two绑定到2,three绑定到3。
我有一个返回多个值的函数,但我只对其中的一些值感兴趣。有没有一种方法可以提取“有趣的”返回值,同时“忽略”(即不绑定)其余的返回值,就像Haskell中的_模式?
发布于 2013-06-20 04:33:41
为此,您可以使用match-let-values或match-define-values (取决于您是想要词法变量还是顶级变量):
> (match-let-values (((_ _ a _) (values 1 2 3 4)))
a)
; => 3
> (match-define-values (_ a _ _) (values 1 2 3 4))
> a
; => 2https://stackoverflow.com/questions/17200362
复制相似问题