如何配置 org 模式来评估 J 代码块?

How to configure org mode to evaluate J code blocks?

当我在 org 模式下 运行 J 代码块时,java jconsole 会弹出。所以必须发送一个 jconsole 命令而不是 ijconsole ...当然,J 代码块不会被评估。 我该如何解决这个问题,以便在 org 模式下正确评估 J 代码块?

我的设置背景: 一旦我将 j-console-cmd 设置为“ijconsole-9.01”,我就可以使用 j-mode。 所以 j-mode 工作正常,它只是在我遇到问题的 org 模式下评估 J 代码块。

仅供参考,我的初始化文件的 J 部分是这样的(根据 j-mode github 自述文件的建议):

(add-to-list 'load-path "~/.emacs.d/elpa/j-mode-20171224.1856/")
(autoload 'j-mode "j-mode.el" "Major mode for editing J files" t)
;; Add for detection of j source files if the auto-load fails
(add-to-list 'auto-mode-alist '("\.ij[rstp]$" . j-mode))

这是我的 init.el:

的 babel 部分
(org-babel-do-load-languages
 'org-babel-load-languages
 '((J . t)
   (python . t)))

我正在尝试 运行 的 j.org 文件是:

This is an example j org mode doc.

#+begin_src J :exports both
'Hello , World!'
#+end_src

#+begin_src J
load 'plot'
plot 1 o. 0.1 * i.200
#+end_src

谢谢。

老实说,我以前从未见过这种做法,所以这完全超出了我的经验范围。我在 J 控制台中能够做的是将您的命令包装在一个匿名动词中。这实质上使句子作为一行执行,可能是造成此问题的 multi-line 问题。

我会尝试运行

   3 : 0 ''
load 'plot'
plot 1 o. 0.1 * i.200
)

在您的组织模式中查看此 'single line' 表格是否解决了您的问题。

好的我解决了!

变量 org-babel-J-command 被(错误地)设置为“jconsole”。这打开了 java 而不是在 ijconsole 中评估 J 代码...

我将此添加到 init.el:

(setq org-babel-J-command "ijconsole-9.01")

现在 J 代码块可以正确求值。

:)