- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
人们会期望 prog2
在返回计算第二个表达式的结果时与 prog1
和 progn
有所不同分别代替第一个和最后。然而,HyperSpec说了一些不同的话(强调我的):
prog2 evaluates first-form, then second-form, and then forms, yielding as its only value the primary value yielded by first-form.
这意味着 prog2
将返回与 prog1
相同的内容(事实上,行为也很相似)!
有趣的是,HyperSpec 中的示例证实了预期而不是指定行为:
(setq temp 1) => 1
(prog2 (incf temp) (incf temp) (incf temp)) => 3
temp => 4
(prog2 1 (values 2 3 4) 5) => 2
这是标准中的拼写错误还是我错过了更深层次的内容?
最佳答案
这似乎是 known issue符合 ANSI 标准(完整列表可在 CLiki 上找到)。
我已经使用 SBCL 2.0.1 以及最新版本的 Allegro 对其进行了测试,在这两种情况下,它的行为都符合预期(而不是指定的):
CL-USER> (prog2
(print "1st")
(print "2nd")
(print "3rd"))
"1st"
"2nd"
"3rd"
"2nd"
想想看,即使是缩进似乎也表明了这一点。
关于common-lisp - 普通口齿不清 : what is the return value of prog2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70391918/
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
如何在turbo c中运行c的命令行参数程序? 最佳答案 我建议您放弃 Turbo C,但因为这会分散注意力.. 您可能指的是以下两件事之一: 1) 创建一个接受命令行参数的程序: 创建一个主函数如下
我有一个打印到标准输出的 Java 程序。例如,如果输出通过管道传输到 head,则 head 完成其工作后 shell 不会立即返回,而是等待 Java 程序完成其所有工作。 所以我的问题是:如何编
我想编写一个调用 2 个函数之一的函数,具体取决于当前主要模式是否为编程模式。如何检测当前主模式是否为编程模式? 最佳答案 (if (derived-mode-p 'prog-mode) ...) 关
我在计算n个节点的二叉搜索树的个数,结果发现是加泰罗尼亚数。 现在,使用 DP,这是我的尝试。 create arr[n+1]; arr[0]=1; arr[1]=1; for(i=2;i
我是 lisp 的初学者,我需要有人向我解释 prog 表单是如何工作的,一步一步。 l1 的初始值是多少?没有? 如果列表在第一层有偶数个元素,问题输出 T,否则输出 nil。 (defun nr_
我有这个程序: -module(a). -export([add/2]). -export([add2/1]). -spec add(integer(),integer())->integer().
如果我正确理解 gcc 手册,那么选项 -print-prog-name 应该打印所用程序的名称。 但似乎这个选项只是回应了给定的论点 例子: gcc -print-prog-name=ld -->
我是 perl 和编程的新手,我刚刚发现了正则表达式和替换运算符。 #!/usr/bin/perl open(LEET, "leet.txt") or die "Can't open leet.txt
我想通过后期绑定(bind)访问 COM 库。 我怎样才能找到它的progID? Type oClassType = Type.GetTypeFromProgID("THE MISSING PROGI
我是网络编程新手。我必须用 C 语言编写一个简单的客户端/服务器程序。服务器将监听连接,客户端将连接到服务器,发送消息,并接收来自客户端的回显。我们必须使用 select() 来更新它,以同时处理从服
我正在尝试根据数组的大小自动将许多 customClass 按钮添加到我的 View 中。 创建了类并在类中调用了适当的方法,但没有显示任何内容。调试告诉我该方法按预期调用/执行(3x)。 当我将函数
这里是代码 #include #include using namespace std; template class grid { public
我有一个静态库 (.a),其中包含我在另一个程序中使用的一些有用函数。链接运行良好,找到了 lib 中的函数,但是当程序执行时,它运行不正常。另一方面,如果我直接在我的程序代码中复制/粘贴我需要的库函
当我们谈论 clojure(或其他 lisp)程序时,当引用其中声明的对象时我们应该怎么说?例如: (let [a ... 当然,如果a是一个函数,我们说function a,但是当它不是函数时我们应
我在安装 libjpeg-turbo-progs 时遇到错误,例如 sudo apt-get install libjpeg-turbo-progs 它给出的输出为 Reading package l
在 this question有人询问 ANTLR4 中 java ParseTree 类的 C# 等效项。这个答案对我来说很清楚,但我有一个相关的先前问题:这相当于 parser.prog()? 似
如果我有一个已知的 COM 库(.ocx 文件本身),在 C# 中是否有任何方法可以提取它的 CLSID 信息?基本上,当您添加对文件的引用时,我需要 Visual Studio 添加到其项目文件的文
我必须编写一个运行 fork 的代码。子项目是另一个需要完成主要任务的项目。我运行 execv() 函数,但它找不到路径。子文件位于同一台计算机的其他项目中。 第二个问题:child 是我的程序。如何
我是一个真正的 C++ 菜鸟,所以请多多包涵。 我有一个简单的程序。当我用 g++ -Wall prog.cpp -o prog 编译它然后用 ./prog 运行它时,它只是段错误。 经过一番修改后,
我是一名优秀的程序员,十分优秀!