2015-10-08 9 views
7

Poniższy MWE nie skompilować (przez devtools::document()):Korzystanie niesymetrycznego klamra w kodzie np Roxygen/Rd

#' MWE 
#' 
#' @examples 
#' format('{}') # Works 
#' format('{') # Nope 
#' format('\{') # Nope 
#' format('\\{')# Nope 
format = function (str) {} 

Niezależnie od tego, który z „nope” linie I obejmują, to zawsze kończy się niepowodzeniem z błędem

Niepowodzenie w bloku roxygen zaczynają mwe.r: 1
niedopasowane szelki ...

Accordi ng do mojego czytania Rd documentation, powinno to działać przez ucieczkę z nawiasu klamrowego. Jednakże, jak pokazano powyżej, nie działa to jako . Czy robię coś złego, czy jest to błąd w Roxygen?

Jedna wskazówka, że ​​może to być błąd Roxygen jest pełny komunikat o błędzie podczas korzystania z pojedynczą zmianą wersji (format('\{')):

Niezgodne szelki: "@example format('{}') # Works format('\\{') # Nope"

pamiętać, że pojedynczy ukośnik odwrotny na wejściu został podwojony na wyjściu.

+0

@Josh swojego (już usunięte) odpowiedź sprawia, że ​​ten kompilacji, ale - jak można zauważyć, rozważa usunięcie - skutkuje złamanym pliku Rd że pokaże błędy podczas próby wyświetlenia pomocy w R. Czy możemy więc stwierdzić, że jest to błąd roxygen? –

+1

To na pewno wygląda jak błąd. Usunąłem, ponieważ zdałem sobie sprawę (duh), że dodatkowy klamr został właśnie użyty do zamknięcia sekcji '\ examples {}' –

+0

Cóż, błąd zgłoszony na https://github.com/klutometis/roxygen/issues/393 –

Odpowiedz

1

Nie jestem pewien, kiedy to naprawiono, ale z roxygen2version 6.0.1 ten problem został rozwiązany.

devtools::document() na MWE produkuje ważny Rd:

\examples{ 
format('{}') 
format('{') 
format('\\{') 
format('\\\\{') 
} 
Powiązane problemy