Daily Julia #5

range がおかしい #7420

Indexing a range by a range · Issue #7420 · JuliaLang/julia

r=0:0.1:1
a=collect(r)
a[1:5] # returns Float64[0.0, 0.1, 0.2, 0.3, 0.4]
r[1:5] # returns 0.0:0.01:0.04 

謎の挙動であるのは分かるが何を言っているのかちょっと理解できていない。

r=1:0.002:20
r[2:4] # returns 0.002004:4e-6:0.002012

以下で一応修正しているらしい。

Fix #7420 by ivarne · Pull Request #7421 · JuliaLang/julia

Pkg.add の挙動 #7325

Pkg.add installs wrong version · Issue #7325 · JuliaLang/julia

ぽつぽつとコメントが付いている模様。

Pkg.add の第 2 引数には version を指定できるのだが、以下のコードでは意図しないバージョンのパッケージがインストールされたように見える。

julia> Pkg.add("ArgParse",v"0.2.7")
INFO: Installing ArgParse v0.2.8
INFO: Installing Options v0.2.2
INFO: Installing TextWrap v0.1.2
INFO: Package database updated

実は Pkg.add のバージョンは下界を定めているだけらしい(ドキュメント読んでも分かり辛いが、REQUIRE の書式 に倣うとのこと)。

またバージョン番号リテラルの書式は有用で、次のように指定できる。

julia> Pkg.add("ArgParse", v"0.2.7", v"0.2.8-")