ทำไม defgroup จึงมีประโยชน์


9

ฉันอ่านidoต้นฉบับแล้วดู:

(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"))

defgroupปรากฏที่ด้านบนของแพ็คเกจขนาดใหญ่มากมาย ฉันเห็นมันทำสิ่งนี้:

ประกาศ SYMBOL เป็นกลุ่มการปรับแต่งที่มีสมาชิก SYMBOL ไม่จำเป็นต้องเสนอราคา

และหน้าของกลุ่มการปรับแต่งนั้นก็ไม่ได้ตอบว่าจะใช้เมื่อไหร่หรืออย่างไร คุณใช้พวกเขาเมื่อไหร่หรืออย่างไร

คำตอบ:


8

คุณใช้การจัดกลุ่มแบบใดเมื่อใดและเพราะเหตุใด เพื่อให้สามารถดำเนินการกับกลุ่มโดยรวมหรือกับสมาชิกรายบุคคล - เฉพาะสมาชิกเท่านั้น นั่นคือคำตอบที่นี่ด้วย

  • มีคำสั่งและฟังก์ชั่นอื่น ๆ ที่ทำหน้าที่ในกลุ่มที่กำหนดหรือชุดของกลุ่ม customize-groupเป็นกลุ่มที่ทำหน้าที่ในกลุ่มที่กำหนด customize-apropos-groupsเป็นหนึ่งที่ทำหน้าที่ในชุดของกลุ่ม

  • เมื่อคุณใช้customize-groupคุณจะเห็นลิงค์ที่ให้คุณปรับแต่งกลุ่มย่อย (ถ้ามี) และสมาชิกแต่ละคน (ตัวเลือกและใบหน้า) ของกลุ่มนั้น

นอกจากนี้กลุ่มมักจะมีคำนำหน้าและคุณสามารถใช้สำหรับการจับคู่รูปแบบกับชื่อฟังก์ชั่นใบหน้าและอื่น ๆ เมื่อคุณโต้ตอบกับ Emacs นี่เป็นอีกวิธีหนึ่งในการ จำกัด การดำเนินการกับสิ่งที่กำหนด (กลุ่มการกำหนดเอง) ของสิ่งต่าง ๆ

กลุ่มสามารถให้การเข้าถึงเอกสารออนไลน์ซอร์สโค้ดการรายงานบั๊กและอื่น ๆ ได้อย่างรวดเร็วสำหรับแพ็คเกจ นี่คือตัวอย่างเช่นเป็นความหมายของกลุ่มIcicles-Key-Completion(มีโค้ดบาง elided)

(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"))

กลุ่มนี้เป็นกลุ่มย่อยของกลุ่มIcicles(ดู:group) มันมีลิงค์ในบัฟเฟอร์ที่กำหนดเองสำหรับการส่งรายงานข้อผิดพลาดการดาวน์โหลดและการเข้าถึงเอกสารในซอร์สโค้ดหรือบนเว็บ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.