有没有办法将 Julia、R 和 python 添加到单个文本文件,如 R markdown 或可以作为文本文件操作的笔记本?

Is there a way to add Julia, R and python to a single text file like R markdown or a notebook that could be manipulated as a text file?

简要说明:我想要一个文本文件,我可以在其中顺利地在 R、python 和 Julia 之间切换。重要的是,我正在寻找一种方法 运行 而不仅仅是显示代码

我知道可以将 python(和许多其他语言)添加到 R markdown http://goo.gl/4w8XIb , but not sure I could add Julia. Also possible to use notebooks like Beaker http://beakernotebook.com/ 的所有三种语言(以及更多),但我对笔记本的问题是它们不是与在编辑器环境(sublime、emacs、vim、atom ...)中使用文本文件可以完成的操作相比,操作速度几乎一样快。我对笔记本知之甚少,我所知道的笔记本都表示为 json 文件,但是操作 json 文件来编写报告几乎是用户友好的。

我可能错过了显而易见的,但还有其他方法可以做到这一点吗?谢谢

With Restructured Text, 有很好的支持 including code samples, where each code-block directive 可以包含相关的 语言。

.. code-block:: ruby

   Some Ruby code.

降价 also supports mentioning the language with each code block,例如:

```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 也是一个获得许可的开源项目 on GitHub,拥有非常敏感的维护者,因此您也可以直接贡献任何缺失的功能作为 PR。

我最近创建了一个 R 包 JuliaCall,它可以用作 R Markdown 文档中的 julia 引擎,示例请参见 https://non-contradiction.github.io/JuliaCall/articles/JuliaCall_in_RMarkdown.html

虽然 JuliaCall 已经在 CRAN 上,但此新功能仍在 github 的开发版本中。如果您想尝试,请使用

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

安装 JuliaCall.

该功能包括

  1. 同一个 julia 会话的多个 julia 块 运行。
  2. 在 julia 代码中访问 R 变量和函数,反之亦然。

目前的限制是它只完全支持html输出。