Подтвердить что ты не робот

Как вы избегаете "}" с помощью roxygen2?

Я документирую функцию с помощью roxygen2 с @example.

В примере есть строка, содержащая символ }.

#' ...
#' @examples
#' \dontrun{
#' ## polyline joining the capital cities of Australian states
#' pl <- "nnseFmpzsZgalNytrXetrG}[email protected]~uBlymzA~ocQ}_}[email protected]@"
#'
#' df_polyline <- decodepl(pl)
#' }
#' ...

При построении документация для примера

введите описание изображения здесь

Если все после первого } отключено.

Как мне избежать }, чтобы он включался в строку в примере?

Я пробовал обратную косую черту \{/\\{ без везения.


Обновление - 01 сентября 2016 г.

официальный ответ на мой вопрос от Hadley

Исправить это довольно сложно (насколько мне может потребоваться написание значительно более сложного Rs-парсера), и это редкое явление, поэтому реалистично это никогда не будет достаточно высоко для моего списка дел, чтобы исправить он.

4b9b3361

Ответ 1

TL;DR: долгосрочное исправление: файл проблема.

Вам "повезло", это было построено, так как у вас было достаточно }, чтобы преодолеть некоторые ошибки установки Rd.

Я даже попытался использовать @example inst/examples/ex.r и поместил код (с помощью обложки \dontrun{}, так как там он поддерживается), и то же самое происходит с этим методом, так как там тоже играет один и тот же rosgengen-синтаксический анализ/переводный код,

  • SHORT TERM FIX # 1: вручную отредактируйте созданный файл Rd, чтобы сделать одиночный \} для каждого из }. Чтобы сделать это, вы случайно не перезапишете, сгенерируйте его один раз, затем исправьте, затем де-roxygenize эту функцию, пока не будет исправлено.

  • SHORT TERM FIX # 2: для этого бита кода назначение строки может происходить вне блока \dontrun{} (что действительно вызывает это). Переместите его, и вы можете продолжить роксигенизацию.

  • LONG TERM FIX: укажите проблему с указанным выше URL-адресом.