1: class Object 2: def method_missing m, *a, &b 3: r = /^#{m}/ 4: t = (methods + private_methods).sort.find{|e|r=~e} 5: t ? __send__(t, *a, &b) : super 6: end 7: 8: def h(a='H', b='w', c='!') 9: puts "#{a}ello, #{b}orld#{c}" 10: end 11: end