2015-10-08 5 views
7

Die folgende MWE (via devtools::document()) zu kompilieren, schlägt fehl:Verwendung von unsymmetrischen Klammer in Roxygen/Rd Codebeispiel

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

Unabhängig davon, welche der „Nein“ Linien I enthalten, ist es nicht immer mit dem Fehler

Failure in roxygen Block beginnend mwe.r: 1
Nicht übereinstimm Klammern ...

Accordi ng zu meiner Lesung der Rd documentation, sollte dies funktionieren, indem Sie die Klammer entkommen. Wie oben gezeigt, funktioniert dies jedoch nicht nicht. Mache ich etwas falsch oder ist das ein Fehler in Roxygen?

Ein Hinweis, dass dies ein Roxygen Fehler sein könnte, ist die vollständige Fehlermeldung, wenn ich die Single-escaped Version (format('\{')):

Nicht übereinstimm Klammern: "@example format('{}') # Works format('\\{') # Nope"

Beachten Sie, dass die einzelnen Der umgekehrte Schrägstrich in der Eingabe wurde in der Ausgabe verdoppelt.

+0

@ Josh Ihre (jetzt gelöscht) Antwort macht diese Kompilierung aber - wie Sie vielleicht bemerkt haben, die Löschung unter Berücksichtigung - es in einer zerbrochenen Rd Datei führt, dass zeigt Fehler an, wenn versucht wird, die Hilfe in R anzuzeigen. Also können wir daraus schließen, dass dies ein Roxygen Bug ist? –

+1

Sieht sicher wie ein Fehler aus. Ich löschte, weil ich realisierte (duh), dass die zusätzliche rechte Klammer nur verwendet wurde, um den '\ examples {}' Abschnitt zu schließen –

+0

Gut, berichteten Fehler unter https://github.com/kluthetises/roxygen/issues/393 –

Antwort

1

Nicht sicher, wenn dies behoben wurde, aber mit roxygen2version 6.0.1 scheint dieses Problem gelöst.

devtools::document() auf dem MWE erzeugt eine gültige Rd:

\examples{ 
format('{}') 
format('{') 
format('\\{') 
format('\\\\{') 
}