2016-08-06 6 views
1

質問がありました。参照変数の元の変数を知るにはどうすればいいですか?

Luaでは、データは動的な型です。変数assignは参照です。どうですか?

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

この場合、変数dで、元の変数を探しますか?

+0

一部の変数は、関数、テーブル、コルーチンなど、参照によって割り当てられます。文字列と数値ではありません。 – hjpotter92

+5

すべての変数(a、b、c、d)には同じオブジェクトに対する参照が含まれ、すべてが同等の権限を持ち、これらの変数のどれもが "オリジナル"ではありません。 –

+0

a、b、c、dがテーブルまたは関数であれば、それを見つけることができますか? – gogothing

答えて

2

変数割当を参照

変数割当である割り当てあります。割り当てが完了すると、2つの変数の間には何の関係もありません。何が割り当てられているかにかかわらず、番号または表の参照かどうか。割り当てが終了すると、2つの変数は接続されなくなります。

これは、ローカル変数でもテーブル要素でも同じです。

+0

すべての変数の割り当ては参照です。 https://www.lua.org/manual/5.1/manual.html#2.5.7 – gogothing

+0

@gogothing:それはそれが意味するものではありません。テーブルはコピーされません。テーブルへの参照がコピーされます。 2つ以上の変数が同じオブジェクトにアクセスできるという事実は、割り当ての仕方とは何の関係もありません。テーブルへの参照をコピーすると、両方の変数がテーブルを参照します。変数は互いに*参照しません。 –

関連する問題