RubyのことはRubyに聞け
class Object
def tell_me_methods
self.class.instance_methods(false).map{|m|
res = begin
send(m)
rescue=>e
e.message
end
[ m, res ]
}.sort_by{|k,v| v.class.to_s }.to_h
end
end
1.tell_me_methods
{:even?=>false,
:zero?=>false,
:size=>8,
:succ=>2,
:bit_length=>1,
:-@=>-1,
:magnitude=>1,
:~=>-2,
:abs=>1,
:to_f=>1.0,
:>=>"wrong number of arguments (0 for 1)",
:fdiv=>"wrong number of arguments (0 for 1)",
:**=>"wrong number of arguments (0 for 1)",
:modulo=>"wrong number of arguments (0 for 1)",
:%=>"wrong number of arguments (0 for 1)",
:===>"wrong number of arguments (0 for 1)",
:====>"wrong number of arguments (0 for 1)",
:<=>=>"wrong number of arguments (0 for 1)",
:divmod=>"wrong number of arguments (0 for 1)",
:>==>"wrong number of arguments (0 for 1)",
:<=>"wrong number of arguments (0 for 1)",
:<==>"wrong number of arguments (0 for 1)",
:div=>"wrong number of arguments (0 for 1)",
:inspect=>"1",
:|=>"wrong number of arguments (0 for 1)",
:^=>"wrong number of arguments (0 for 1)",
:[]=>"wrong number of arguments (0 for 1)",
:<<=>"wrong number of arguments (0 for 1)",
:>>=>"wrong number of arguments (0 for 1)",
:/=>"wrong number of arguments (0 for 1)",
:*=>"wrong number of arguments (0 for 1)",
:-=>"wrong number of arguments (0 for 1)",
:+=>"wrong number of arguments (0 for 1)",
:to_s=>"1",
:&=>"wrong number of arguments (0 for 1)",
:odd?=>true}
wrong number of arguments
は自分で叩くしかない(汗