Juliaで文字列の先頭と最後尾を取得する方法[Julia]

f:id:Vastee:20181119154857p:plain

julia> str = "Hello, world.\n"
"Hello, world.\n"

julia> str[1] # 先頭はカッコ内に1を入れる
'H': ASCII/Unicode U+0048 (category Lu: Letter, uppercase)

julia> str[end] # 最後尾はカッコ内にendを入れる
'\n': ASCII/Unicode U+000a (category Cc: Other, control)

Juliaのv1.0をインストールする[Julia]

f:id:Vastee:20181119154857p:plain

同僚から急遽動かすように言われたJuliaの対応バージョンが1.0であった.しかし,11月時点でJuliaはv1.1にアップデートされている.v1.0はgithubからcheckoutすれば手に入るのだが,素直にmakeしただけでは動かなかった.試行錯誤の末,なんとかv1.0をインストールすることができたので手順を残す.

dockerでjulia v1.0用のコンテナを作成

OSはubuntu14にした.

docker run -it --name "julia_v1_cpu" ubuntu14.04 /bin/bash

Julia v1.0のインストール

前準備

apt update # ひとまずコンテナに入ってからアップデートをかける

apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev libpng-dev m4 m4-doc gfortran cmake git

Juliaのソースコードgithubからインストールし,v1.0.2にcheckoutする

git clone https://github.com/JuliaLang/julia.git

cd julia

git checkout v1.0.2

makeする(make -j4などを使うとエラーがでたのでなるべくmakeでインストールすること)

あと,makeには少し時間がかかる

make

juliaのインストールの確認

cd julia

./julia

とすれば,

root@xxxx:~/julia# ./julia
               _
   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.2 (2018-11-08)
 _/ |\__'_|_|_|\__'_|  |
|__/                   |

juliaが使える.

Juliaのパッケージ追加方法

1つ目の方法

Pkg.add("Winston")

2つ目の方法

Juliaコンソール上で" ] "キーを押すと

(v1.1) pkg>

上のような表示がでる

以下のようにコマンド入力し, パッケージを追加

(v1.1) pkg> add https://github.com/wildart/TOML.jl.git

Ctrl+Cを押すと, (v1.1) pkg> から抜けることができる.

TODO: 1つ目の方法と2つめの方法の違いと使い分けがよくわからないので後日改めて調査. julia package manager REPLというのがある?