规避 SCHEME 中的 EVAL

2023-11-21

彼得·诺维格 (Peter Norvig) 在 PAIP 中说道:

在现代 lisps 中...eval 很少被使用(事实上,在Scheme 中有 根本没有评估)。如果您发现自己使用 eval,那么您可能是 做错事

有哪些方法可以规避使用eval在计划中?不存在这样的情况吗eval是绝对必要的吗?


有些情况下eval是必要的,但它们总是涉及高级程序,例如动态加载某些代码(例如,Web 服务器中的 servlet)。至于“规避”使用它的方法——这取决于你试图解决的实际问题,没有什么神奇的解决方案可以避免eval除了 ...eval.

(顺便说一句,我的猜测是 PAIP 是很久以前写的,之前eval已添加到计划报告中。)

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

规避 SCHEME 中的 EVAL 的相关文章

  • 在Scheme中生成项链的简单好算法?

    长度为 n 的 k 元项链是一个长度为 n 的有序列表 其项目是从长度为 k 的字母表中抽取的 它是共享旋转排序的所有列表中按字典顺序排列的第一个列表 例子 1 2 3 和 1 3 2 是字母表 1 2 3 中长度为 3 的项链 更多信息
  • 编码霍夫曼树方案[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我正在尝试编写一个函数 codeWords t 它遍历霍夫曼树 添加 0当它向左移动时 添加 1当它向右时 并以叶子上的
  • 有人可以向我解释“卫生”的概念吗(我是一名方案程序员)?

    所以 我是 r6rs 方案的新手 正在学习宏 谁能给我解释一下 卫生 是什么意思 提前致谢 卫生经常在宏的上下文中使用 卫生宏不使用可能会干扰正在扩展的代码的变量名称 这是一个例子 假设我们想要定义or带有宏的特殊形式 直观地说 or a
  • DrRacket/Scheme 中的地图、过滤器、Foldr

    编程语言 Scheme DrRacket 我们目前正在回顾map filter and foldr在我的计算机科学课上 我知道这三个函数都可以用来创建抽象函数 但说实话 我对这三个函数之间的区别以及何时使用每个函数感到有点困惑 有人愿意解释
  • 对于方案中的每个和地图

    这两个功能在方案上有什么区别吗 我正在使用 Dr Racket R5RS 语言制作一个模拟器游戏 我无法决定哪个更好 for each从左到右计算列表元素上的给定函数 并丢弃函数的返回值 它非常适合对列表中的每个元素进行副作用操作 map以
  • 这些嵌套向量是如何连接的?

    我编写了一段代码 它创建了一个向量 记分板 其中包含 3 个大小为 3 的独立向量 所有向量都包含符号 在所有索引 0 2 处 当我现在执行 向量集 时在记分牌的第一个向量上 要将其第一个元素更改为 X 向量 2 和 3 也会更改 这是如何
  • 毛里求斯国旗问题

    我已经为该问题制定了解决方案荷兰国旗问题 http en wikipedia org wiki Dutch national flag problem已经 但这一次 我想尝试一些更困难的事情 毛里求斯国旗问题 4 种颜色 而不是 3 种 对
  • 在Scheme 中是否有相当于Lisp 的“运行时”原语?

    根据SICP 第 1 2 6 节 http mitpress mit edu sicp full text book book Z H 11 html sec 1 2 6 练习 1 22 大多数 Lisp 实现都包含一个称为运行时的原语 它
  • 方案中的参数传递

    谁能帮我理解Scheme中的各种参数传递模式 我知道Scheme实现了按值传递参数 但其他模式又如何呢 有没有关于Scheme中参数传递的好的文档 方案有only按值调用函数调用 还有其他可以在该语言中实现的替代方案 但如果您是初学者 那么
  • eq 之间的区别?和 = 在方案中?

    gt eq 1 1 t gt eq 1 1 1 1 f gt 1 1 1 1 t 这是DrScheme 中的交互窗口 有人可以解释一下 和 eq 之间的区别吗 在计划中 比较数字 等式 测试参数是否表示内存中的同一数据对象 当量 应该在第二
  • 在R6RS方案中,有没有办法获取当前环境以供eval使用?

    R6RS方案中有没有办法获取当前环境 然后将其作为第二个参数传递给eval 例如 下面的表达式要返回 9 问号应该是什么 let x 4 y 5 eval x y 不 R6RS中没有这样的东西 一些罕见的实现可能支持类似的东西 但绝大多数
  • 方案作业

    当我每次得到值 10 时评估以下表达式 lambda x lambda set x x 10 x 0 不过 我只是通过用名称抽象上述过程来进行修改 并在每次值增加 10 时调用 foo define foo lambda x lambda
  • 按方案中的第一个元素对列表列表进行排序

    例如 我正在研究按第一个元素对列表列表进行排序 排序 列表 2 1 6 7 4 3 1 2 4 5 1 1 预期输出 gt 1 1 2 1 6 7 4 3 1 2 4 5 我使用的算法是冒泡排序 我修改了它来处理列表 但是 该代码无法编译
  • 查找 lambda 表达式中的自由变量

    有谁知道如何找出 lambda 表达式中的自由变量 自由变量是不属于 lambda 参数的变量 我当前的方法 这对我毫无帮助 是简单地使用 car 和 cdr 来遍历表达式 我的主要问题是确定一个值是否是一个变量或者它是否是方案原语之一 有
  • 方案 - 列表之和

    我正在尝试实现一个计算 list 的函数 其名称是sum define sum elemList if null elemList car elemList sum cdr elemList 0 上面的实现给出了错误的结果 例如 gt su
  • 方案/球拍:画布操作

    1 正如标题所述 当我调整窗口大小时 我绘制的对象消失 但矩形保持原样 2 原点从左上角开始 但我希望它在左下角 3 除了绘图库之外 我找不到任何缩放功能 所以如果我希望实现这样的功能 一个选项是通过绘制更大的对象并刷新画布来 缩放 def
  • 传递给过程的列表转换为过程内列表的列表

    我正在 DrRacket 上调试这段代码 lang racket define last element on list lambda l cond null l null cdr l car l else last element on
  • 如何在方案中向后打印字符串?

    我知道如果我按照以下方式编写方案代码并输入 单词 a b c 它将以相同的顺序输出列表 您能告诉我是否有一种方法可以以相反的顺序打印出来 例如 列出 c b a 它需要是我以相反顺序打印出来的用户输入 所以 我不能称之为 反向 a b c
  • 方案中的多维向量?

    我之前问过一个关于方案中数组的问题 结果它们被称为向量 但在其他方面基本上与您期望的相同 有没有一种简单的方法可以在 PLT 方案中处理多维 arrays 向量 出于我的目的 我想要一个名为make multid vector或者其他的东西
  • 方案如何返回多个值?

    我注意到几乎所有方案函数只能返回一个列表作为输出 下面 我想返回邻居的所有相邻节点的多个值 define neighbors l w if and 1 l 1 w list and l 1 w and 1 l w how to output

随机推荐

  • 部署到已在 IntelliJ IDEA 外部运行的 Tomcat 服务器

    我已经在我的 PC 上安装了 Tomcat 服务器 并将其添加为service在Windows中 所以现在每次我启动计算机时它都会启动 现在 在 IntelliJ 中我已经配置了一个应用程序服务器 那就是我的 Tomcat 服务器 但是当尝
  • 如何减少 Visual Studio 2015 中 Xamarin Forms 应用程序的用户代码大小?

    我今天在 Windows 7 上安装了 Visual Studio 2015 RTM 并在 Xamarin 上注册了一个新帐户 入门许可证 创建项目后 我尝试运行该应用程序 之前创建的 AVD 我得到的只是这个错误 mandroid 错误
  • 在 werkzeug 请求中检索 url 锚点

    我有一个 DAV 协议 可以在 url 锚点中存储带外数据 例如这ghi in DELETE abc def ghi 服务器是 Flask 应用程序 我可以看到请求通过网络传入tcpdump 但是当我查看 werkzeug Request
  • 如何使用Spark的repartitionAndSortWithinPartitions?

    我正在尝试构建一个最小的工作示例repartitionAndSortWithinPartitions以便理解该函数 到目前为止我已经完成了 不起作用 不同的值会乱七八糟地乱七八糟 def partval partID Int iter It
  • Python:使用相对路径导入excel文件

    我尝试导入一个与脚本不在同一文件夹中的 Excel 文件 我需要获取上面的一个文件夹 然后进入另一个文件夹 B folder 并且有文件 2 file xlsx I tried df pd read excel r B folder 2 f
  • 如何在Java小程序中正确指定代码库和存档?

    我使用 Firefox 版本 gt 3 5 3 5 3 6 4 我尝试指定archive and codebase属性正确但不起作用 我的小程序主类位于archive运行时加载的一些必要的类位于codebase 如果我只指定archive然
  • SDL_GetTicks() 精度低于毫秒级

    我目前使用 SDL2 进行编程 一切正常 但我有一个问题SDL GetTicks 方法 通常它应该返回以毫秒为单位的总应用时间 但大多数时候它总是返回值 0 有时返回值 1 我用以下命令初始化了 SDLSDL INIT EVERYTHING
  • 使用 Eclipse CDT 构建多模块 C 项目(即解决方案)

    我将从 Netbeans 迁移到 Eclipse 在 Ubuntu 12 0 4 上 我有一个 C 应用程序 它由几个子项目组成 这些子项目是库 共享和静态 以及独立的可执行文件 我不知道如何创建 父 项目foo 其中包含组件项目 foob
  • 使用 Retrofit 转换 json 数组?

    这是我的 Json nata center id 67 nata center name Primo Institute of Design nata center id 68 nata center name Sai Ganesh Ins
  • php 中的 header 是如何工作的?

    浏览 php net 网站 它有一个标头示例 它说会给我错误 我复制了它 并在 WAMP 上执行 但它没有显示任何错误 但确实重定向到该站点 只是想知道 它在我的 WAMP 上是否是正确的行为 或者它是一个错误 或者我是否在 php ini
  • 检索项目的父级时出错:升级到 AppCompat v23 后找不到与给定名称匹配的资源

    我一直使用 Eclipse 编写 Android 程序 并决定开始迁移到安卓工作室 我决定使用与 Eclipse 相同的 SDK 然后 开始了一个新项目 设置最低 SDK 4 0 API 级别 14 选择空白活动选项 活动名称和布局名称使用
  • 如何使 DACPAC 只更新一种架构?

    我有一个带有 sqlproj 项目的 VS2013 解决方案 其中包含特定于该解决方案的对象 问题是这对于其他项目来说也是常见的数据库 我的问题是自动将模式中的更改部署到数据库而不影响其他对象 默认情况下 DACPAC 会更新整个数据库 这
  • 如何在 Flex/bison 中实现 If 语句

    我没有收到错误消息 请您帮帮我 这是 l 和 y 文件 谢谢 include ifanw tab h extern int yylval return EQ return NE lt return LT lt return LE gt re
  • React Native - 禁用“屏幕尺寸”设置

    我目前正在开发一个 React Native 应用程序 我们的一些用户可能有轻微的视力问题 我们希望阻止在 Android 中设置 显示大小 因为这会使我们的应用程序无法使用 我们使用简单的代码行解决了字体大小的问题 Text defaul
  • 从多于一列的 pandas 数据帧构建 networkx 有向图或流程图

    我有 pandas 数据框 由 10 列组成 每行包含用户在线执行的一个步骤 总共 10 列 因此所有 10 个步骤过程 假设第一个活动是预订机票 那么步骤是 登录网站 gt 给出出发时间 gt 选择座位 gt 付款 审核 所以每一步都可能
  • 覆盖 auto_now 进行单元测试

    我已将数据库中的事件的一些时间戳定义为auto now add 因为信息应在存储事件的同时与其时间戳一起存储 事件的描述是这样的 class NewEvent models Model Individual event name model
  • 什么更快?在 PHP 中包含另一个文件或查询 MySQL 数据库?

    在 PHP 中 速度更快 使用include somefile php 或者使用简单的查询 MySQL 数据库SELECT查询得到相同的信息 例如 假设您有一个 JavaScript 自动完成搜索字段 需要 3 000 个术语进行匹配 使用
  • 如何在Android上绘制两个地理点之间的路线

    我在 MapView 上有两个 OverlayItem 如何绘制两个地理点之间的路线 该应用程序包含源代码 它将解决您的问题 http www anddev org the friend finder mapactivity using g
  • 如何将 Spring @Autowired 所需属性设置为 false 进行测试?

    到目前为止 我一直在使用 Required 注释来确保 Spring 配置的应用程序中的 DI Bean 要启用注释 您需要在配置中声明一个RequiredAnnotationBeanPostProcessor bean 在你的测试配置中
  • 规避 SCHEME 中的 EVAL

    彼得 诺维格 Peter Norvig 在 PAIP 中说道 在现代 lisps 中 eval 很少被使用 事实上 在Scheme 中有 根本没有评估 如果您发现自己使用 eval 那么您可能是 做错事 有哪些方法可以规避使用eval在计划