1
Juliaに奇妙な問題があり、DataArrays.DataArrayを使用しています。ローカルスコープとDataArrays.DataArray
私は公式ドキュメントから(簡体字)の例を使用して私の問題を説明しようとします:
x = 1
function bar()
x = 10 # local
println(x) # 10
return 1
end
bar();
println(x) # 1
この関数は、xのローカル値を変更しますが、そのグローバル値を変更しません。
using DataFrames;
x = @data([1 2 3 4 5 6 7 8 9 10]);
function bar()
x[1,1] = 1000000 # local
println(x[1, 1]) # 1000000
return 1
end
bar();
println(x[1, 1]) # it should be 1, but it is 1000000
あなたは、このような場合は理由を明確にしてください可能性があり、どのように私はジュリアが正常に動作させることができます:
それでは、以下、私が持っているとしましょうか?
申し訳ありませんが、私はそれを持っています。 xを引数として受け入れるようにbarを付けても、同じ問題が起きているので、まだ疑問が残っています。その場合、関数バーにはxのローカルバージョンが必要ですか?グローバルxにまだアクセスしているのはなぜですか? – merch
ではなく、関数は引数を変更できます。ローカルバージョンを明示的に作成したい場合は、ローカル 'x = "何でも"の前にローカルを追加してください。 –
よろしくお願いします。 – merch