2013-06-20 21 views
5

Đó là tuyên bố trong phần "Các biến toàn cục và hằng số" của Google Common Lisp Style Guide rằng:"Fake" biến từ vựng toàn cầu trong Common Lisp

"Common Lisp không có biến từ vựng toàn cầu, do đó, một quy ước đặt tên được sử dụng để đảm bảo

Có thể giả lập các biến từ vựng toàn cục với một biến toàn cục khác có tên là DEFINE-SYMBOL-MACRO. Bạn không nên sử dụng thủ thuật này, trừ khi bạn xuất bản lần đầu tiên một thư viện tóm tắt nó đi. "

Có thể ai đó, vui lòng giúp tôi hiểu ý nghĩa của câu cuối cùng này.

Trả lời

7

Câu cuối cùng,

Bạn không nên sử dụng thủ thuật này, trừ trường hợp đầu tiên bạn xuất bản một thư viện mà tóm tắt nó đi.

có nghĩa là nếu bạn làm điều gì đó mô phỏng các biến từ vựng toàn cục, thì việc thực hiện mô phỏng đó không nên rõ ràng đối với người dùng. Ví dụ: bạn có thể mô phỏng từ vựng toàn cầu bằng cách sử dụng một số lược đồ bằng cách sử dụng define-symbol-macro, nhưng nếu bạn làm như vậy, nó phải rõ ràng đối với người dùng. Xem số GLOBALS — Global Variables Done Right của Ron Garret để biết ví dụ về “thư viện tóm tắt nó.”