方案按引用传递

2024-03-28

如何在方案中通过引用传递变量?

我想要的功能的示例:

(define foo
  (lambda (&x)
    (set! x 5)))

(define y 2)

(foo y)

(display y) ;outputs: 5

另外,有没有办法通过引用返回?


See http://community.schemewiki.org/?scheme-faq-language http://community.schemewiki.org/?scheme-faq-language问题“有没有办法模拟引用调用?”。

总的来说,我认为这违背了方案的功能性质,因此可能有更好的方法来构建程序以使其更像方案。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

方案按引用传递 的相关文章

  • PHP:为什么只能通过引用传递变量?

    如果您是 PHP 开发人员 您很可能看到过以下通知 注意 在 somefile php 中只有变量应该通过引用传递 在线 xxx 问题广泛处理于只有变量应该通过引用传递 https stackoverflow com questions 4
  • JavaScript 通过引用与通过值 [重复]

    这个问题在这里已经有答案了 我正在寻找一些很好的综合阅读材料 了解 JavaScript 何时按值传递内容 何时通过引用传递内容 何时修改传递的项目影响函数外部的值以及何时不影响函数外部的值 我还感兴趣的是 何时通过引用与通过值分配给另一个
  • 当你需要在Java中通过引用传递给多个参数赋值时,你该怎么做?

    为了将一些方法重构为更小的方法 我需要通过引用传递 因为我只能有一种返回类型 每当我需要这样做时 我都可以创建不同的返回或参数类型 但最终我会得到一堆臃肿的 看似不必要的类 除了重新设计程序之外 最好的替代方案是什么 编辑 其中一些可以重新
  • CMake:如何在多个文件上运行自定义命令来生成源文件?

    我有以下情况 我想编译一些Scheme文件Gambit https github com gambit gambit成可执行文件 为此 我使用 gambit 将所有计划文件翻译 生成为 C 和目标文件 然后将其编译并链接为可执行文件 假设我
  • 大括号 {} 替换 Racket 中的“开始”

    是否可以有一个宏 使用大括号 来表示一个语句块 从而替换 begin 关键字 因此 代替 if condition begin statement1 statement2 statement3 statement4 else stateme
  • 模拟Scheme中Python的范围

    如何在Scheme中创建连续数字的列表 在Python中创建一个从1到10的整数列表是range 1 11 方案有等效的吗 mzscheme version gives Welcome to Racket v5 2 1 Edit Per h
  • C# 字典值引用类型 - 请解释为什么会发生这种情况

    我不明白 C 中以下 linqpad 查询的结果 评论应该解释我困惑的地方 void Main Dictionary
  • 指针混乱:c 中的交换方法

    include
  • Emacs Lisp 可以将 lambda 形式分配给像Scheme 这样的变量吗?

    在研究 Emacs Lisp 的符号单元时 我发现像这样的示例函数 defun a rest x x 我可以打电话 symbol function a 返回 lambda rest x x 如果我愿意的话我可以使用它 gt lambda r
  • 如何在没有引用的情况下复制对象?

    PHP5 OOP 有据可查对象通过引用传递 http php net manual en language oop5 references php默认情况下 如果这是默认的 在我看来 有一种非默认的方式可以在没有参考的情况下进行复制 如何
  • 为什么Racket中foldl的定义方式很奇怪?

    在 Haskell 中 与许多其他函数式语言一样 函数foldl被定义为 例如 foldl 0 1 2 3 4 10 这没关系 因为foldl 0 1 2 3 4 根据定义 0 1 2 3 4 但是 在 球拍 中 foldl 0 1 2 3
  • 修改C中的const char *

    我正在练习面试 我目前遇到的问题是反转 C 中的常量字符串 我知道由于 str2 是 const 所以我可以修改 str2 指向的位置 但不能修改它的值 我下面有一个名为reverse const 的函数 它会将 const char st
  • 可扩展的宏定义

    灵感来自于评论区 https stackoverflow com questions 23879410 is it possible to extend a function lambda macro in scheme 23879575
  • Python 宏:用例?

    如果 Python 有一个类似于 Lisp Scheme 的宏工具 比如元Python https code google com p metapython 你会如何使用它 如果您是一名 Lisp Scheme 程序员 您会使用宏来做什么
  • 如何在方法模板中使用模板类型的引用传递参数?

    我目前正在努力编译以下代码 首先是包含带有方法模板的类的头文件 ConfigurationContext h class ConfigurationContext public template
  • 假装 .NET 字符串是值类型

    在 NET 中 字符串是不可变的 并且是引用类型变量 这通常会让新的 NET 开发人员感到惊讶 因为他们的行为可能会将它们误认为是值类型对象 然而 除了使用实践StringBuilder对于长连接 尤其是 在循环中 在实践中是否有任何理由需
  • 通过 VB.NET 和 C# 中的 Ref 参数

    我有与传递参数 byRef 相关的问题 我有基于 VB NET 的类库 其中一些函数是使用 byref 参数类型定义的 这些参数是父类对象 当我尝试调用此函数并在 byref 参数中传递子类对象时 它在 VB NET 中工作 但我无法在 C
  • C++ 通过引用将映射传递给函数

    我怎样才能通过map by reference变成一个函数 Visual Studio 2010 给了我一个unresolved externals错误 目前 我有以下简化代码 void function1 map
  • C++ 返回值、引用、const 引用

    你能向我解释一下返回值 值引用和值常量引用之间的区别吗 Value Vector2D operator const Vector2D vector this gt x vector x this gt y vector y return t
  • 如何在 Lilypond 中缩写“相同音符高八度的音符,带括号”?

    目前我写lilypond questions tagged lilypond代码如下所示 version 2 14 2 P parenthesize relative c clef bass

随机推荐