首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何定义在R7RS中返回多个值的过程

如何定义在R7RS中返回多个值的过程
EN

Stack Overflow用户
提问于 2021-08-14 16:05:41
回答 1查看 75关注 0票数 0

TL;DR:如何定义过程foobar,它可以用作(let-values ((foo bar) (foobar)) ...)

R7RS定义了两个过程floor/truncate,它们计算两个被除数的商余数。我发现这非常棘手,因为我只能在let-values (或let*-values)中使用这些过程。一个更重要的问题是,我无法找到一种方法来定义返回多个值的自己的过程。

有人有什么想法吗?

注意:

  • floor/truncate/的定义位于报告第37页的顶部。
  • 我没有足够幸运地成功安装任何符合R7RS的解释器或编译器,所以我还没有测试上述任何一个想法。当我有机会时,我会更新这个问题,如果需要的话。
EN

回答 1

Stack Overflow用户

发布于 2021-08-14 16:38:43

你试过values了吗?这份报告在第53页上提到过。

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

(let-values (((foo bar) (foobar)))
  (cons foo bar))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68784993

复制
相关文章

相似问题

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