首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略球拍中的多个返回值

问忽略球拍中的多个返回值
EN

Stack Overflow用户
提问于 2013-06-20 04:09:22
回答 1查看 887关注 0票数 5

在球拍中,可以通过执行以下操作从一个函数返回多个值。

代码语言:javascript
复制
(define (foo)
  (values 1 2 3))

然后,我们可以通过执行以下操作来绑定它们

代码语言:javascript
复制
(define-values (one two three) (foo))

现在,one绑定到1,two绑定到2,three绑定到3。

我有一个返回多个值的函数,但我只对其中的一些值感兴趣。有没有一种方法可以提取“有趣的”返回值,同时“忽略”(即不绑定)其余的返回值,就像Haskell中的_模式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-20 04:33:41

为此,您可以使用match-let-values或match-define-values (取决于您是想要词法变量还是顶级变量):

代码语言:javascript
复制
> (match-let-values (((_ _ a _) (values 1 2 3 4)))
    a)
; => 3

> (match-define-values (_ a _ _) (values 1 2 3 4))
> a
; => 2
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17200362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档