在Common Lisp包定义中,
之间有什么区别(defpackage #:foo
(:use :cl)
(:export #:bar
#:baz))
(in-package #:foo)
和
(defpackage :foo
(:use :cl)
(:export :bar
:baz))
(in-package :foo)
我的意思是。当我必须使用“#”字符?所有这些符号都是不受干扰的,对吧?
答案 0 :(得分:10)
:foo
是关键字符号的语法,#:foo
是未加密符号的语法。当一个符号主要用于获取其名称的字符串时(如defpackage
和in-package
),我更喜欢使用未分隔的符号。
以下是其他选项:
你或其他任何人使用的风格都是品味问题。