-
Notifications
You must be signed in to change notification settings - Fork 7
assignment
Silica edited this page Jun 3, 2012
·
2 revisions
#assignment (型破壊代入) 型破壊代入演算子:= ##基本的な動き a = 1; // aは整数型になる a = "str"; // "str"を数値に変換してaに代入する為にa == 0 a = "3b"; // a == 3 a := "str"; // aは型ごと上書きされ、文字列型の"str"となる
##list型 a,b,c = 1,2,3; a,b,c := "x","y","z"; print(a); // "x" print(b); // "y" print(c); // "z"
個別にa:="x"; b:="y"; c:="z";
ってやるのと同じこと
##object型 a.x = 1; a.y = 2; b = a; // コピー作っておく a := 1; // これは普通にaは整数型の1になる c.y = "p"; c.z = "q"; b := c; // object型同士だとちょっと特殊 foreach(b, (x,y){print(x+y)});
object型同士の場合のみ全体が上書きされるのではなく、メンバ同士が:=でコピーされる
この場合
x:1
y:"p"
z:"q"
になる
上との兼ね合いとかでそうなってるが、変えるかも知れない