#r #knitr #r-markdown
#r #knitr #r-markdown
Вопрос:
Knitr создает приятный код с подсветкой синтаксиса при использовании фрагмента кода, как показано ниже.
```sql
SELECT column
FROM table
```
Возможно ли добиться того же, но с sql-кодом, хранящимся в файле?
Что-то вроде:
```sql
read_chunk('mycode.sql')
```
Ответ №1:
Я думаю, вы можете использовать встроенное R-выражение для его достижения:
```sql
`r xfun::file_string('mycode.sql')`
```
Комментарии:
1. Замечательно, спасибо Yihui. Я не знал, что вы можете использовать встроенное r-выражение внутри фрагментов кода. Это позволяет мне синхронизировать мою документацию с моим кодом.
2. @Rickard Нет, вы не можете использовать встроенные выражения R в фрагментах кода. Встроенное выражение R работает здесь, потому что
'''sql
не обрабатывается как фрагмент кода в knitr. На данный момент только'''{r *}
идентифицируется как фрагмент кода (я не могу ввести здесь буквальные обратные ссылки, поэтому я использовал'
, которые следует читать как обратные ссылки).3. Отклонено, потому что это решение не работает для меня. Файл sql правильно считывается и отображается, но не форматируется как код sql.
4. Это не работает в блоке {sql, eval=FALSE} в версии v3.4. Было бы неплохо иметь.
5. @Chris убедитесь, что вы не включили фигурные скобки, это только для недооцененного sql, поэтому
eval=FALSE
не требуется