Ruby

Rubyで2つの変数を入れ替える


一時変数を使った(よくある方法)

一時変数(ここでは tmp )を用いて、値を入れ替える方法。

foo = 'foo'

bar = 'bar'

# 入れ替え作業
tmp = foo
foo = bar
bar = tmp


多重代入を使ったやり方

多重代入を使うと1行で複数の代入を行うことができます。

メリットとしては、一時変数が不要、3行→1行になるばかりでなく、入れ替える意図が明確になります。

foo = 'foo'

bar = 'bar'

# 入れ替え作業
foo, bar = bar, foo

# => [
# [0] "bar",
# [1] "foo"
# ]

foo # => "bar"
bar # => "foo"