その理由は、Emacs パッケージob-julia.elが最新の v1.0 Julia リリースをサポートするようにアップグレードされていないためです。
この v1.0 バージョンでは、readcsv
およびwritecsv
関数はもう存在しません。DelimitedFiles.readdlmおよびDelimitedFiles.writedlm関数に置き換えられました。
ただし、ob-julia.elはまだそれらを使用しています。
(defvar org-babel-julia-write-object-command "writecsv(\"%s\",%s)")
と
(format "%s = readcsv(\"%s\")" name file)
(format "%s = readcsv(\"%s\")"
name file))))
ob-julia.el issueを送信しました。ただし、今でも使用したい場合は、迅速で汚い修正が可能ですob-julia.el
。~/.julia/config/startup.jl
ファイルに次の行を追加するだけです。
import DelimitedFiles
function writecsv(filename::AbstractString,ans)
DelimitedFiles.writedlm(filename,ans,',')
end
function readcsv(filename::AbstractString)
DelimitedFiles.readdlm(filename,',')
end
これにより、関数readcsv
とwritecsv
関数が再定義され、ob-julia.el が再び機能するようになります。
この修正により、次のようになりました。
#+BEGIN_SRC julia
1+2
#+END_SRC
#+RESULTS:
: 3
#+BEGIN_SRC julia :session mySession
1+2
#+END_SRC
#+RESULTS:
: 3
予想通り。