使う機会があるかどうかは別として挙動の理解として、
2つの変数の値を入れ替える いわゆるswapをrubyで書くにはどうすればいいか?、
考え方的には 参照先を入れ替えればいいわけなので a,b = [b,a] という風に書けます。
確認のために以下を実行すると、2つの変数の object_idも ポインタも 入れ替わっているのがわかります。
require "fiddle" a = "hello" b = "world" puts(a.object_id) puts(b.object_id) puts(Fiddle::Pointer[a].to_i) puts(Fiddle::Pointer[b].to_i) a,b = [b,a] puts(a.object_id) puts(b.object_id) puts(Fiddle::Pointer[a].to_i) puts(Fiddle::Pointer[b].to_i)