Rubyには、配列などから値を取り出したりするパターンマッチの機能はありません。 しかし、時々欲しいと思うことがあります。そんな時のために作ってみました。 (実は自分でもなんで作ったんだろうと思うような時もあるのですが) githubで公開しています。https://github.com/tana/ruby-pattern-match 使い方 match.rbをrequireなどで読み込んだら、 match [1, 2, 3] do pat [:a, :b, :c] do a + b + c end end のように使えます。 条件分岐でマッチするかしないかを分ける場合、 match [1, 2] do pat [:a, :b], cond { b == 2 } do a end end のように、condをパターンの後に付ければ条件を付けることができます。 配列だけではなくStructに