- 812 名前:Now_loading...774KB mailto:sage [2008/10/15(水) 00:47:48 ID:ZgzCUj7J]
- >>811
それは代入してるのが文字ではなく配列(Arrayオブジェクト?)だからです。 A ="a","b","c" B[0] = A[0] //A[0]は a,b,cを要素とする配列 C[0]="a" D[0]=C[0] //C[0]はStringオブジェクト > プリミティブかリファレンスかはよくわかりませんでした>< ■プリミティブ(正確にはプリミティブデータ型)は単一のデータだけを表す型の事です。 AS3の場合Boolean型、int型、Number型、String型、uint型、void型がこれにあたり、 これ以外は全て複合データ型と呼ばれます。 ■リファレンスとはその名の通り参照のことで、実際にデータをコピーすることなく同じオブジェクトを指す手法です。 var A:Array = B; とすれば、AとBは全く同じ物となります(Aに変更を加えればBにも反映する。逆もしかり。) C++をやっていれば CHoge &hoge1 = hoge2; と同等だと理解して問題ありません。(&はアドレス演算子ではありません)。 で、ここが重要なのですが、AS3では、プリミティブデータ型を除いて、全ての代入は参照で行われます。 なので冒頭のような結論となるのです。 蛇足ですが、>>807の > プリミティブかリファレンスかを理解した方が良いと思うぞ という表現は、代入する物がプリミティブデータ型か複合データ型により 値コピーか参照コピー(リファレンス)か変わるので、この辺りから理解せよという意味。 あとASのバージョンは明記してね。
|

|