2016-08-06 2 views
1

질문이 있습니다.참조 변수의 원래 변수를 아는 법은 가능합니까?

루아에서 데이터는 동적 유형입니다. 변수 assign은 참조입니다. 그리고 .. 어때요?

a = 10 -- original var. create var 
b = a -- ref 
c = b -- ref 
d = c -- ref 

이 경우 변수에서 원래 변수를 찾으십니까?

+0

일부 변수는 함수, 테이블, coroutines 등과 같이 참조에 의해 지정됩니다. 문자열 및 숫자가 아닙니다. – hjpotter92

+5

모든 변수 (a, b, c, d)는 동일한 객체에 대한 참조를 포함하며 "동등 권한"을 가진 모든 변수 중 "원래"는 없습니다. –

+0

a, b, c, d가 테이블 또는 함수이면 찾을 수 있습니까? – gogothing

답변

2

변수 할당은 변수 할당 할당입니다

참조에게 있습니다. 할당이 완료되면 두 변수 사이에 아무 관계도 없습니다. 할당되는 대상과 관계없이 번호 또는 테이블 참조 여부에 관계없이 할당이 끝나면 두 변수는 더 이상 연결되지 않습니다.

로컬 변수이든 테이블 요소이든 상관 없습니다.

+0

모든 변수 할당은 참조입니다. https://www.lua.org/manual/5.1/manual.html#2.5.7 – gogothing

+0

@gogothing : 그것이 의미하는 바가 아닙니다. 테이블은 복사되지 않습니다. 표에 대한 참조가 복사됩니다. 둘 이상의 변수가 동일한 객체에 액세스 할 수 있다는 사실은 할당이 작동하는 방식과 아무 관련이 없습니다. 테이블에 대한 참조를 복사하면 두 변수 모두 테이블을 참조합니다. 변수는 * 서로를 참조하지 않습니다 *. –

관련 문제