変数の値の入れ替え
うまくいかない方法
code:jl
a, b = 1, 2
a = b; b = a
a, b # (2, 2)
直感的な方法
Julia.iconではできて便利あんも.icon
code:jl
a, b = 1, 2
a, b = b, a
a, b # (2, 1)
よくある方法
一時変数tempに退避させる
code:jl
a, b = 1, 2
temp = a # 一時変数にaの値を退避させる
a = b
b = temp
a, b # (2, 1)
算術演算による方法
code:jl
a, b = 1, 2
a = a + b
b = a - b # (a + b) - b
a = a - b # (a + b) - (a + b - b)
a, b # (2, 1)
論理演算による方法
code:jl
a, b = 1, 2
a = a ⊻ b # 0b00000001 ⊻ 0b00000010 = 0b00000011
b = a ⊻ b # 0b00000011 ⊻ 0b00000010 = 0b00000001
a = a ⊻ b # 0b00000011 ⊻ 0b00000001 = 0b00000010
a, b # (2, 1)
tempを宣言しなくていいから省メモリ?あんも.icon