Juliaでパッケージの利用 & OhMyREPLでREPLの強化

パッケージ概要

再利用可能な関数などを集めたスクリプトファイルのことをモジュールと呼びます。 さらに、同系列のモジュールを集めたものをパッケージと呼びます。外部のツールの多くは、このパッケージという単位で公開されています。

そういえばこんなツイートがありました。

こんなことが問題になるくらいパッケージは便利なものです。
車輪の再開発を行わないためにも、パッケージが作れるようになりつつ!
既存パッケージはガンガン利用していきましょう。

Juliaでパッケージを利用する分において、知るべきことは以下の3つくらいです。

  • JuliaではPkgというモジュールに含まれるパッケージマネージャ用のコマンドを使用してパッケージの管理を行う。
  • Pkg.add 関数でパッケージの追加、Pkg.rm関数でパッケージの削除を行います。

  • インストールされたパッケージを呼び出して使うときはusing で宣言します。

  • インストール済みのパッケージ一覧を取得するには、Pkg.installed関数を使用します。

注意すべきこととして、パッケージを読み込むために使用するPkg.add関数そのものもPkgモジュールの関数なので、

using Pkg

として、まずPkgパッケージを読み込む必要があります。

現在Juliaで利用可能なパッケージの一覧は以下から見ることができます。 https://pkg.julialang.org/

REPLの強化! - OhMyREPL

OhMyREPLパッケージを参考に、パッケージのインストールと読み込みをおさらいする。

githubページ↓ github.com

OhMyREPLとは

  • シンタックスハイライト
  • 括弧のハイライト
  • 自動括弧補完機能
  • プロンプト(julia> 部分)の変更
  • その他もろもろ

が、JuliaのREPLで使えるようになるプラグイン的なもの。 詳しくは以下

https://kristofferc.github.io/OhMyREPL.jl/latest

インストール

Pkg.add だけ。

Pkg.add("OhMyREPL")
 Resolving package versions...

  Updating `~/.julia/environments/v1.0/Project.toml`
  [5fb14364] + OhMyREPL v0.3.0
  Updating `~/.julia/environments/v1.0/Manifest.toml`
  [a8cc5b0e] + Crayons v1.0.0
  [5fb14364] + OhMyREPL v0.3.0
  [0796e94c] + Tokenize v0.5.2

バーっと出てパッケージがインストールされます。

パッケージの読み込み

インストールするだけではパッケージは読み込まれません。 読み込むには

using OhMyREPL

読み込むと、以下のようにコードがシンタックスハイライトされることがわかります。
しっかりパッケージが読み込めてます。 f:id:kimoppy126:20181007200541p:plain

毎回読み込みたい

.julia/config/startup.jlに記述することで、起動時に行う処理を定義することができます。 今回のように、Juliaを起動するたびに使用したい処理は書いておきましょう。

startup.jl

using Pkg
using OhMyREPL