问题标签 [syntax-object]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scheme - 方案中语法对象的目的到底是什么?
我正在尝试在 python 中编写一种类似于方案的小型语言,以便更好地理解方案。
问题是我被困在语法对象上。我无法实施它们,因为我并不真正了解它们的用途以及它们的工作方式。
为了理解它们,我在 DrRacket 中使用了一些语法对象。
从我能够找到的情况来看,评估#'(+ 2 3)
与评估没有什么不同'(+ 2 3)
,除非在+
顶级命名空间中有一个词法变量遮蔽了该变量,在这种情况下(eval '(+ 2 3))
仍然返回5
,但(eval #'(+ 2 3))
只是抛出一个错误。
例如:
(eval (top-sym))
, (eval (top-stx))
, and (eval (shadow-sym))
all return 5
, while(eval (shadow-stx))
抛出错误。他们都没有回来6
。
如果我不知道更好,我会认为语法对象的唯一特别之处(除了它们存储代码位置以便更好地报告错误的微不足道的事实)是它们在某些情况下抛出错误符号对应项将返回一个可能不需要的值。
如果故事就这么简单,那么使用语法对象相对于常规列表和符号将没有真正的优势。
所以我的问题是:我错过了什么让它们如此特别的语法对象?
scheme - 在 Racket 或 Scheme 中,有没有办法将省略号语法对象转换为语法对象列表?
例如:
在示例中,(list #'x ...)
显然不起作用,但我能做些什么来输出等价的(list #'a #'b #'c #'d)
?
image - PDF 内联图像 XObject 源未知错误
在 PDF-Online.com 中出现“xobject 资源的名称Im1未知”的错误。在下面的 PDF 中。在对象 41 中,我使用 Im1 的图像名称建立 XObject 6。当我在 Adobe 中查看此文件时,它会显示一个错误消息框,指出文件中存在错误。我可以通过此错误消息,并且 adobe 显示 PDF 文件而不渲染图像。