Ruby
regexp
hash

hashのキーの存在確認を正規表現で

More than 1 year has passed since last update.

keyの存在確認

keyが存在するかどうかは一般的に以下で確認できる。

irb(main):051:0> h = { test: 3 }
=> {:test=>3}
irb(main):052:0> h.key?(:test)
=> true

部分一致するkeyの存在確認がしたい

指定した文字列が含まれるkeyが存在するかどうかを確認したい。

irb(main):053:0> h.keys.find{ |key| key =~ /te/ }
=> :test

true/falseで返すならこんな感じ。

irb(main):054:0> !!h.keys.find{ |key| key =~ /te/ }
=> true

もちろん正規表現使えます。

irb(main):055:0> h.keys.find{ |key| key =~ /^[a-z].+t$/ }
=> :test