全局变量a是一个 cons 单元,但不是列表。为什么 LISTP 会为其返回 T?
* (defvar a (cons 1 2))
A
* a
(1 . 2)
* (listp a)
T
全局变量a是一个 cons 单元,但不是列表。为什么 LISTP 会为其返回 T?
* (defvar a (cons 1 2))
A
* a
(1 . 2)
* (listp a)
T
根据scheme.org 实现, GNU Guile 支持 R6 和 R7 版本的 Scheme。并且 guile 可执行文件具有“--r6rs”和“--r7rs”命令行参数。Guile网站称
由于 R7RS 的标准远不如 R6RS 雄心勃勃(参见 Guile 和 Scheme),因此 Guile 很容易支持它。因此,Guile 是 R7RS 的完全符合要求的实现,除了偶尔出现的错误和几个未实现的功能:
- R7RS 指定了使用数据标签读取循环数据结构的语法,例如 #0=(1 2 3 . #0#)。Guile 的阅读器目前不支持此语法;https://bugs.gnu.org/38236。
- 与 R6RS 一样,R7RS 的许多词汇功能与 Guile 的历史语法相冲突。除了 r6rs-hex-escapes 和 hungry-eol-escapes(请参阅与 R6RS 的不兼容性)之外,还需要明确启用 r7rs-symbols 阅读器功能。
并且 scheme.org 上的索引显示vector->string 是 R7RS small 的一部分。但是,当我使用 --r7rs 选项运行 Guile 时,它无法识别 vector->string。
“未绑定变量:向量->字符串”
相同的代码适用于 MIT/GNU Scheme
(display (vector->string #(#\H #\i #\!))) ; => "Hi!"
我想要获得如下所示的 Free Pascal 编译器输出消息:
program.pas(50,10) Hint: Parameter "input" not used
但我想忽略编译器输出消息,如下所示:
Hint: Start of reading config file C:\FPC\fpc.cfg
我努力了
(.*\) Hint\:.*)
和
(.*\).Hint\:.*)
两者似乎都与以 Hint 开头的行匹配