multiple assign
This commit is contained in:
@@ -1012,5 +1012,32 @@ END;
|
||||
print("flags-explicit: {}\n", wf);
|
||||
print("flags-explicit-raw: {}\n", cast(s64) wf);
|
||||
|
||||
// --- Multi-target assignment (swap) ---
|
||||
print("--- swap ---\n");
|
||||
|
||||
// Variable swap
|
||||
{
|
||||
sa := 10;
|
||||
sb := 20;
|
||||
sa, sb = sb, sa;
|
||||
print("var swap: {} {}\n", sa, sb);
|
||||
}
|
||||
|
||||
// Array element swap
|
||||
{
|
||||
sarr : [3]s64 = .[1, 2, 3];
|
||||
sarr[0], sarr[2] = sarr[2], sarr[0];
|
||||
print("arr swap: {} {}\n", sarr[0], sarr[2]);
|
||||
}
|
||||
|
||||
// 3-way rotation
|
||||
{
|
||||
ra := 1;
|
||||
rb := 2;
|
||||
rc := 3;
|
||||
ra, rb, rc = rc, ra, rb;
|
||||
print("3-way: {} {} {}\n", ra, rb, rc);
|
||||
}
|
||||
|
||||
print("=== DONE ===\n");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user