パターンマッチによるメソッド定義@Ruby
より
multiというライブラリで
class Example def initialize() multi(:method2, 0) { 0 } multi(:method2, Integer) {|x| @a + x } end def method1(x) return 0 if x == 0 return @a + x end end
というようにメソッドmethod2を定義できようにする方法が解説されている。
みそはmultiの第二引数以降であるパターンを実際にどのようにマッチさせるかだろうか。