สำหรับการทำเอกสารคลาสที่มี roxygen (2) การระบุหัวเรื่องและคำอธิบาย / รายละเอียดดูเหมือนจะเหมือนกับฟังก์ชันวิธีการข้อมูลและอื่น ๆ อย่างไรก็ตามสล็อตและการสืบทอดเป็นสัตว์ประเภทของตัวเอง แนวปฏิบัติที่ดีที่สุด - ปัจจุบันหรือที่วางแผนไว้สำหรับการบันทึกคลาส S4 ใน roxygen2 คืออะไร
ขยันเนื่องจาก:
ฉันพบ@slot
แท็กในคำอธิบายก่อนหน้าของ roxygen
การโพสต์รายชื่อผู้รับจดหมาย R-forge ปี 2008
ดูเหมือนจะบ่งบอกว่านี่เป็นสิ่งที่ตายแล้วและไม่มีการสนับสนุน@slot
ใน roxygen:
นี่เป็นความจริงของ roxygen2 หรือไม่ โพสต์ที่กล่าวถึงก่อนหน้านี้แนะนำให้ผู้ใช้ควรทำรายการแยกรายการของตนเองด้วยมาร์กอัป LaTeX เช่นคลาส S4 ใหม่ที่ขยาย"character"
คลาสจะมีการเข้ารหัสและจัดทำเอกสารดังนี้:
#' The title for my S4 class that extends \code{"character"} class.
#'
#' Some details about this class and my plans for it in the body.
#'
#' \describe{
#' \item{myslot1}{A logical keeping track of something.}
#'
#' \item{myslot2}{An integer specifying something else.}
#'
#' \item{myslot3}{A data.frame holding some data.}
#' }
#' @name mynewclass-class
#' @rdname mynewclass-class
#' @exportClass mynewclass
setClass("mynewclass",
representation(myslot1="logical",
myslot2="integer",
myslot3="data.frame"),
contains = "character"
)
อย่างไรก็ตามแม้ว่างานนี้นี้\describe
, \item
แนวทางในการจัดเก็บเอกสารในช่องที่ดูเหมือนว่าไม่สอดคล้องกับส่วนที่เหลือของ roxygen (2) ในการที่ไม่มี@
แท็ก -delimited roxygenize()
และช่องสามารถไปไม่มีเอกสารไม่มีการคัดค้านจาก นอกจากนี้ยังบอกว่าไม่มีอะไรเกี่ยวกับวิธีที่สอดคล้องกันในการจัดทำเอกสารการสืบทอดของคลาสที่ถูกกำหนดไว้ ฉันคิดว่าการพึ่งพาโดยทั่วไปยังคงใช้งานได้ดี (หากสล็อตเฉพาะต้องการคลาสที่ไม่ใช่ฐานจากแพ็คเกจอื่น) โดยใช้@import
แท็ก
ดังนั้นเพื่อสรุปสิ่งที่เป็นแนวปฏิบัติที่ดีที่สุดในปัจจุบันสำหรับสล็อต roxygen (2)?
ดูเหมือนจะมีสามตัวเลือกในการพิจารณาในขณะนี้:
- เอ - รายการแยกรายการ (เป็นตัวอย่างข้างต้น)
- B -
@slot
... แต่ด้วยแท็ก / การใช้งานพิเศษฉันพลาดไป ฉันไม่สามารถรับ @slot เพื่อทำงานกับ roxygen / roxygen2 ในรุ่นที่มีการรวมไว้เพื่อแทนที่รายการที่แยกรายการในตัวอย่างด้านบน ตัวอย่างข้างต้นใช้งานได้กับ roxygen อีกครั้ง (2)- C - แท็กทางเลือกอื่นสำหรับการระบุช่องเช่น
@param
ที่จะทำให้สำเร็จในสิ่งเดียวกัน
ฉันยืม / ขยายคำถามนี้จากโพสต์ที่ฉันทำกับroxygen2
หน้าพัฒนาบนGitHub
setClass
ข้อความน้อยกว่าsetMethod
มาก การเปลี่ยนแปลงครั้งเดียว@slot
จะถูกนำไปใช้จะไม่เจ็บปวดเกินไป
@slot
น่าจะเป็นสิ่งที่คุณต้องการในระยะยาว แต่ก็จะต้องมีการดำเนินการครั้งแรก ...