Причина в том, что пакет Emacs ob-julia.el не был обновлен для поддержки самого последнего выпуска Julia v1.0.
В этой версии 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 выпуск . Однако есть возможность быстрого и грязного исправления, если вы все еще хотите использовать 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
как и ожидалось.