如何检测 MIT Scheme 的版本?
How to detect version of MIT Scheme?
是否有一种方法可用于检测一段 Scheme 代码中使用的 MIT Scheme 版本?
例如,我可能需要一段代码来确定它是由 MIT Scheme 9.1 还是 MIT Scheme 9.2 解释的,并据此采取行动。
也许存在一个程序(例如(interpreter-version)
)returnsMIT Scheme的版本号?
下面是一些开源项目用来检测MIT Scheme版本的方法:
SLIB project (file: mitscheme.init
使用的方法):
(get-subsystem-version-string "Release")
示例 return 值:"9.2"
SLIME project (file: contrib/swank-mit-scheme.scm
使用的方法):
(get-subsystem-version "Release")
这return是列表中的版本号。例如,如果您使用的是 MIT Scheme 版本 10.1.10,则 return 值将为 '(10 1 10)
。用法示例:
(if (>= (car (get-subsystem-version "Release"))
9)
'do-something-if-version-9-and-above
'otherwise-do-this-if-below-version-9)
注意:此答案中使用的过程未记录。 get-subsystem-version
和 get-subsystem-version-string
都在 MIT Scheme 的 src/runtime/system.scm
文件中定义。
记录的方法是(identify-world)
。
是否有一种方法可用于检测一段 Scheme 代码中使用的 MIT Scheme 版本?
例如,我可能需要一段代码来确定它是由 MIT Scheme 9.1 还是 MIT Scheme 9.2 解释的,并据此采取行动。
也许存在一个程序(例如(interpreter-version)
)returnsMIT Scheme的版本号?
下面是一些开源项目用来检测MIT Scheme版本的方法:
SLIB project (file:
mitscheme.init
使用的方法):(get-subsystem-version-string "Release")
示例 return 值:
"9.2"
SLIME project (file:
contrib/swank-mit-scheme.scm
使用的方法):(get-subsystem-version "Release")
这return是列表中的版本号。例如,如果您使用的是 MIT Scheme 版本 10.1.10,则 return 值将为
'(10 1 10)
。用法示例:(if (>= (car (get-subsystem-version "Release")) 9) 'do-something-if-version-9-and-above 'otherwise-do-this-if-below-version-9)
注意:此答案中使用的过程未记录。 get-subsystem-version
和 get-subsystem-version-string
都在 MIT Scheme 的 src/runtime/system.scm
文件中定义。
记录的方法是(identify-world)
。