paranitips

Never stop learning! がモットーのゆるふわエンジニアブログ

rubyで unused variable と言われないように使わない変数にはアンダースコア(_)を使う

例えば、以下のように使わない変数が宣言されている場合警告が出ます。

array = [[1,2],[4,3],[2,1]]
array.sort{|(k1, v1), (k2, v2)| v2 <=> v1}
# 「assigned but unused variable - k1」と警告が出ます。

このように使わない変数にはアンダースコア_を使うと警告が出なくなります。

array = [[1,2],[4,3],[2,1]]
array.sort{|(_, v1), (_, v2)| v2 <=> v1}

また、ruby2.0からは単語の先頭にアンダースコア_をつけてあげればOKです。

array = [[1,2],[4,3],[2,1]]
array.sort{|(_k1, v1), (_k2, v2)| v2 <=> v1}

これは地味に便利。

参考