1
DataArrays.DataArray를 사용하여 Julia에서 이상한 문제가 발생했습니다.로컬 범위 및 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를 인수로 받아들이도록 술집에 알려 주더라도 똑같은 문제가 있기 때문에 여전히 의문입니다. 이 경우, 함수 막대는 x의 로컬 버전을 가져야합니다. 그렇지 않습니까? 글로벌 x에 여전히 액세스하는 이유는 무엇입니까? – merch
아니요, 함수는 인수를 변경할 수 있습니다. 명시 적으로 로컬 버전을 만들고 싶다면 'local x = "what any"보다 먼저 로컬을 추가하십시오. –
그래, 도와 줘서 고마워! – merch