_(アンダーバー)

るびマ出張版より。_という変数名を使うと、関数型言語の人には分りやすくなりますよ、という話。

たとえば、連想リストから検索するコードはこう書いてた。

array = [['foo','bar'],['hoge','hage']]

p array.find{|a,b|
  # bは使わない
  a == 'hoge'
}

でも、_を使うとこの変数を使わないというのがわかりやすくなる。(関数型言語の人には)

array = [['foo','bar'],['hoge','hage']]

p array.find{|a,_|
  a == 'hoge'
}

いいね。今度から、これを使おう。

でも、こういうコードが有効なのはちょっと気持悪いのか、便利なのか判断に迷うところだ。

array = [['foo','bar'],['hoge','hage']]
r
p array.find{|_,_|
  _ == 'bar'
}