定义我自己的read宏



在Common Lisp中有一些读宏,如' #' #P,但是我如何写一个读宏?

:

#T"hello world"
====================>
(gettext "hello world")

可以使用set-macro-character和set-dispatch-macro-character,例如:

(set-dispatch-macro-character ## #T
  (lambda (s c n)
    `(gettext ,(read s t nil t))))
==> T

可以使用已安装的read语法

(read-from-string "#T"this is a test"")
==> (GETTEXT "this is a test")

相关内容

  • 没有找到相关文章

最新更新