gpt4 book ai didi

package - Common Lisp 包定义

转载 作者:行者123 更新时间:2023-12-04 11:13:42 26 4
gpt4 key购买 nike

在 Common Lisp 包定义中,有什么区别

(defpackage #:foo
(:use :cl)
(:export #:bar
#:baz))

(in-package #:foo)


(defpackage :foo
(:use :cl)
(:export :bar
:baz))

(in-package :foo)

我的意思是。什么时候必须使用“#”字符?所有这些符号都不陌生,对吧?

最佳答案

:foo是关键字符号的语法,#:foo是 uninterned 符号的语法。当一个符号主要用于获取其名称的字符串时(如在 defpackagein-package 中),我更喜欢使用 uninterned 符号。

以下是其他选项:

  • 使用关键字符号;我不喜欢这个实习生关键字符号出现在适当和其他地方的方式
  • 使用字符串;我不喜欢这如何无故打破 Allegro 的“现代”模式
  • 使用简单的符号;我不喜欢这两者如何实习一个符号,以及它如何将它实习在一个潜在的随机包中

  • 您或其他任何人使用哪种风格取决于品味。

    关于package - Common Lisp 包定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8050144/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com