MATLAB移民のためのJulia tips

MATLAB移民のためのJulia tips

何も考えずに速く計算できないのならば、何もやりたくない。

引数は参照渡し(代入で困った人はこちら)

例えば、こういうこと。

a = [1,2,3]
b = a
b[1] = 10
println(b) # => [10,2,3]
println(a) # => [10,2,3] 

abに代入してから、bの要素を書き変えると、aまで変更されちゃうということ。
参照渡しというやつ。(詳しいことはpythonで参照渡しの説明をしている記事を読んでください。)

ちなみに引数でいじらなければ、大丈夫。

a = [1,2,3]
b = a
b = [10,2,3]
println(b) # => [10,2,3]
println(a) # => [1,2,3]

最初の例も、b = a[:]としておけば、

a = [1,2,3]
b = a[:]
b[1] = 10
println(b) # => [10,2,3]
println(a) # => [1,2,3]