Есть ли способ добавить Julia, R и python в один текстовый файл, такой как R markdown или блокнот, который можно использовать в качестве текстового файла?



Кратко сказано: я хотел бы иметь текстовый файл, в котором я мог бы плавно переключаться между R, python и Julia. Важно, что я ищу способ запуска, а не просто отображения кода



Я знаю, что можно добавить python (и многие другие языки) в R markdown http://goo.gl/4w8XIb , но не уверен, что смогу добавить Джулию. Также можно использовать ноутбуки, такие как Beaker http://beakernotebook.com/ со всеми тремя языками (и более), но моя проблема с записными книжками заключается в том, что они не так быстры в обращении по сравнению с тем, что можно сделать с текстовым файлом в среде редактора (sublime, emacs, vim, atom ...). Я очень мало знаю о блокнотах, и те, о которых я знаю, представлены в виде файлов json, но манипулирование файлом json для написания отчета-это все, кроме удобства пользователя.



Я, вероятно, упускаю очевидное, но есть ли другой способ сделать это? Спасибо

513   3  

3 ответов:

Недавно я создал пакет R JuliaCall, и он может быть использован в качестве движка julia в документе R Markdown, см. https://non-contradiction.github.io/JuliaCall/articles/JuliaCall_in_RMarkdown.html для примера.

Хотя JuliaCall уже находится на CRAN, эта новая функция все еще находится в версии разработки на github. Если вы хотите попробовать, используйте

devtools::install_github("Non-Contradiction/JuliaCall")

Установить JuliaCall.

Функция включает в себя

  1. несколько кусков Джулии, запущенных одной и той же Джулией сессия.
  2. доступ к переменным R, функциям внутри кода Джулии и наоборот.

Текущее ограничение заключается в том, что он полностью поддерживает только вывод html.

С реструктурированным текстом существует хорошая поддержка , включая примеры кода , где каждый code-block директива может включать в себя соответствующие язык.

.. code-block:: ruby

   Some Ruby code.

Markdown также поддерживает упоминание языка в каждом блоке кода , например:

```javascript
var s = "JavaScript syntax highlighting";
alert(s);
```

```python
s = "Python syntax highlighting"
print s
```

```
No language indicated, so no syntax highlighting. 
But let's throw in a <b>tag</b>.
```

Я думаю, что Beaker Notebook на самом деле очень хорошее решение для ваших нужд. Это полиглот-инструмент, который позволит вам очень хорошо сочетать R, Python и Julia. Существует режим редактирования Vim, который не идеален, но все же довольно быстр. Существуют сочетания клавиш для быстрого выполнения ячеек, выполнения только выделенных строк, а также перехода между ячейками. Beaker также является разрешительно лицензированным проектом с открытым исходным кодом на GitHub с очень отзывчивым сопровождающим, поэтому вы также можете внести свой вклад в любой отсутствующие функции непосредственно как ПРС.

Comments

    Ничего не найдено.