获取ASDF系统的版本

Ina*_*thi 0 common-lisp asdf

您可以在ASDF系统中设置的其他内容是:version属性.有没有办法在运行时读取它?有点像(system-version :my-system-name)

我知道有asdf:version-satisfiesasdf:asdf-version,但也做我想做的在这种情况下.

JJJ*_*JJJ 7

这是代码:

(defun system-version (system-designator)
  (let ((system (asdf:find-system system-designator nil)))
    (when (and system (slot-boundp system 'asdf:version))
      (asdf:component-version system))))
Run Code Online (Sandbox Code Playgroud)

它的工作原理如下:

CL-USER> (system-version :cffi)
"0.10.7.1"
CL-USER> (system-version :foo)
NIL
Run Code Online (Sandbox Code Playgroud)