kullanılırken S4 yöntemlerini hangi sırada yükleyeceğimi nasıl belirledim Birden çok kez aşağıdaki soruna girdim.Roxygen2
#' the class classA
#'
#' This is a class A blabla
#' \section{Slots}{\describe{\item{\code{A}}{a Character}}}
#' @ name classA
#' @rdname classA
#' @exportClass classA
setClass("classA",representation(A="character"))
Ve classB.R
#' the class classB
#'
#' This is a class B blabla
#' \section{Slots}{\describe{\item{\code{B}}{an object of class A}}}
#' @ name classB
#' @rdname classB
#' @exportClass classB
setClass("classB",representation(B="classA"))
ben bu dosyaları roxygen2
göre alfabetik olarak okunmuştur inanıyordu, ama bu:
classA
ve
classB
aşağıdaki dosyaları
classA.R
tarif var ki durum böyle değil.
roxygenize("./myExample")
Error in getClass(Class, where = topenv(parent.frame())) :
"ClassA" is not a defined class
nasıl roxygenize()
hangi sırayla dosyaları okumak için bilir emin olabiliriz, sınıf tanımı diğer önce okunması gereken diğer bir deyişle: Ben paketi oluşturmak çalışırsanız, aşağıdaki hatayı alabilirsiniz?
Not: Kendi sorumu yanıtladığımı biliyorum. Bunun nedeni, sık sık bu soruna rastladım ve roxygen2
koduna baktıktan sonra bunu yapmak için doğru yolu fark ettim. Referans olarak, işte benim bulgularım.
?collate_roclet
açıklandığı üzere
, hangi önce okunması gereken hangi sınıf belirtmek için @include etiketi kullanabilirsiniz:
'@ include' etiketini kaçırdınız sanırım ... – hadley
@hadley Soruma yazdığım gibi, '@ include' etiketini denedim ve aynı zamanda farklı sınıflardaki yardım dosyalarını birleştirdim. Benim niyetim değil). Collate alanını kullanarak gayet iyi çalışıyor, ama umarım bir sonraki rox versiyonunda bunun için zarif bir çözüm üretmek için biraz zaman ve ilham bulabilirsiniz. –
'@ include' harmanlamadan başka bir şey değiştirmemelidir. Minimal bir tekrarlanabilir örnek verebilir misiniz? – hadley