[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/29 17:01 / Filesize : 316 KB / Number-of Response : 902
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ActionScript 誰かが物凄い勢いで解答するスレ 20



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のバージョンは明記してね。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<316KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef