Tại sao defgroup hữu ích?


9

Tôi đang đọc idonguồn và thấy:

(defgroup ido nil
 "Switch between files using substrings."
 :group 'extensions
 :group 'convenience
 :version "22.1"
 :link '(emacs-commentary-link :tag "Commentary" "ido.el")
 :link '(emacs-library-link :tag "Lisp File" "ido.el")
 :link '(custom-manual "(ido) Top")
 :link '(info-link "(ido) Customization"))

defgroupxuất hiện ở đầu của nhiều gói lớn. Tôi thấy nó làm điều này:

Khai báo SYMBOL như một nhóm tùy chỉnh có chứa MEMBERS. SYMBOL không cần trích dẫn.

trang về các nhóm tùy chỉnh không thực sự trả lời khi nào hoặc làm thế nào để sử dụng chúng. Khi nào hoặc làm thế nào để bạn sử dụng chúng?

Câu trả lời:


8

Khi nào và tại sao bạn sử dụng bất kỳ nhóm? Để có thể hành động trên toàn bộ nhóm hoặc trên các thành viên riêng lẻ - chỉ các thành viên của nhóm. Đó cũng là câu trả lời.

  • Có các lệnh và các chức năng khác hoạt động trên một nhóm hoặc nhóm các nhóm nhất định. customize-grouplà một nhóm hoạt động trên một nhóm nhất định. customize-apropos-groupslà một nhóm hoạt động trên một nhóm các nhóm.

  • Khi bạn sử dụng, customize-groupbạn sẽ thấy các liên kết cho phép bạn tùy chỉnh các nhóm con (nếu có) và các thành viên riêng lẻ (tùy chọn và khuôn mặt) của nhóm đó.

Ngoài ra, một nhóm thường có tiền tố và bạn có thể sử dụng tên đó để khớp mẫu với tên hàm, khuôn mặt, v.v. khi bạn tương tác với Emacs. Đây là một cách khác để giới hạn các hành động đối với một tập hợp cụ thể (nhóm tùy chỉnh).

Một nhóm cũng có thể cung cấp quyền truy cập nhanh vào tài liệu trực tuyến, mã nguồn, báo cáo lỗi, v.v. cho một gói. Ở đây, ví dụ, là định nghĩa của nhóm Icicles-Key-Completion(với một số mã được tách ra).

(defgroup Icicles-Key-Completion nil
  "Icicles preferences related to key completion (`icicle-complete-keys')."
  :prefix "icicle-" :group 'Icicles
  :link `(url-link :tag "Send Bug Report" ...)
  :link '(url-link :tag "Other Libraries by Drew" ...)
  :link '(url-link :tag "Download" ...)
  :link '(url-link :tag "Description" ...)
  :link '(emacs-commentary-link :tag "Doc-Part2" "icicles-doc2")
  :link '(emacs-commentary-link :tag "Doc-Part1" "icicles-doc1"))

Nhóm này tự nó là một nhóm nhỏ của nhóm Icicles(xem :group). Nó cung cấp các liên kết trong bộ đệm Tùy chỉnh để gửi báo cáo lỗi, tải xuống và truy cập tài liệu trong mã nguồn hoặc trên Web.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.