gpt4 book ai didi

scheme - Scheme中的参数传递

转载 作者:行者123 更新时间:2023-12-01 09:39:27 25 4
gpt4 key购买 nike

谁能帮我理解 Scheme 中的各种参数传递模式?我知道 Scheme 实现了按值传递参数。但是其他模式呢?

Scheme中的参数传递有什么好的文档吗?

最佳答案

方案 具有按值调用的函数调用。还有其他可以在该语言中实现的替代方案,但如果您是初学者,那么此时最好不要尝试它们。如果您正在寻找一种“通过引用”传递值的方法 - 那么可以使用宏的一个选项是使用宏,但您真的不应该去那里。相反,一些像 PLT Scheme 这样的 Scheme 实现提供了一个“盒子值”:这是一种容器,使用如下:

  • 您创建一个包含 <something> 的框与 (box <something>)
  • 您将获得存储在带有 (unbox <some-box>) 的框中的值
  • 您使用 (set-box! <some-box> <new-value>) 更改存储在框中的值

鉴于这两个,您可以“按值”使用此类框对象,但它们的内容实际上是一个引用。这与 C 非常相似,其中所有值(实际上大多数)都是按值传递的,但其中一些值可以是您可以改变的指针。顺便说一句,最好避免这些:在 Scheme 中,函数式编程是更常见的选择,因此最好从它开始。

(一旦您对 Scheme 更加熟悉,并且如果您使用的是具有足够抽象的 Scheme,那么您也可以学习如何模仿许多替代方案。)

关于scheme - Scheme中的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2304481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com