MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

Julia 1.0に向けて注意していること

目次

はじめに

先日Julia 1.0がリリースされました。

自分はこれまでJulia 0.6系を使っていたので、

それらのコードをJulia 1.0に対応する際に注意が必要だと思ったことをメモしておきます。

Julia 0.7とJulia 1.0の関係

Julia 0.7とJulia 1.0の関係に関しては、下記を参照ください。

qiita.com

0.7でコードの変更をしつつ、すべてのDepricated warningが消えたら、

1.0に移行するのが良さそうです。

 

v0.6のコードとの共存

一気に、0.6のコードを0.7以上にするのは厳しいので、

徐々にコードを変更していくと思いますが、

0.6と0.7の両方で動かす場合は、下記のように

バージョン毎に処理を変えることができます。

if VERSION > v"0.7-"
    using Test
    using LinearAlgebra
    const __MAIN__ =  length(PROGRAM_FILE)!=0 && occursin(PROGRAM_FILE, @__FILE__)
else
    using Base.Test
    const __MAIN__ = length(PROGRAM_FILE)!=0 && contains(@__FILE__, PROGRAM_FILE)
end

MAINは個人的に使っている

Pythonのmainと似た動きをするグローバル変数です。

myenigma.hatenablog.com

パッケージのインストール

Julia 0.6では、

Pkg.add("DataFrames")

でDataFrameパッケージをインストールできましたが、

Julia 1.0ではPkgはデフォルトでは読み込まれず、

using Pkg;Pkg.add("DataFrames")

として、インストールする必要があります。

自作パッケージの作り方

下記を読めばわかると思いますが、

goropikari.hatenablog.com

Juliaのターミナル上で ] を入力し、

Pkgモードにしてから、

generate PkgName

とすることでパッケージを作ることができます。

そして、

push!(LOAD_PATH, "/path/to/PkgName/src")

でパスを通せば、

using PkgName

で使うことができます。

 

v0.6からv0.7の変更点

下記がv0.6からv0.7の変更点です。

github.com

v1.0に関する便利な情報

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com