Có cách nào ngắn để xuất tất cả các biểu tượng từ một gói hay đó là cách duy nhất để thực hiện nó trong defpackage
. Tôi thường viết mã của tôi trong một file foo.lisp
mà thường bắt đầu với (in-package :foo)
và đặt định nghĩa gói vào một tập tin package.lisp
mà thường liên quan đến một cái gì đó như thế này:Các biểu tượng xuất khẩu Lisp phổ biến từ các gói
(in-package :cl-user)
(defpackage :foo
(:use :cl)
(:documentation "Bla bla bla."
(:export :*global-var-1*
:*global-var-2*
:function-1
:function-2
:struct
:struct-accessor-fun-1
:struct-accessor-fun-2
:struct-accessor-fun-3
:struct-accessor-fun-4))
Câu hỏi của tôi là: Thiết kế đơn giản là một giao diện sử dụng một số biến toàn cục và đôi khi các hàm có thể không đầy đủ và bạn phải xuất một số cấu trúc. Trong trường hợp này, nếu bạn không đơn giản xuất các hàm truy cập của cấu trúc này, bạn không thể thao tác các đối tượng của các cấu trúc này. Vì vậy, có một cách dễ dàng để hoàn thành hiệu ứng này mà không cần xuất thủ công tất cả các chức năng truy cập này?
Thực sự tử tế! Tôi không bao giờ có thể nghĩ rằng để thêm và tiêu thụ một khe (: xuất khẩu) trong định nghĩa khe cắm tiêu chuẩn CLOS. –