仕事中にちょっと書いてみたんですが、実際やっぱりこんなことしなくても良かったので供養。
target = [1, :hoge, "Foo", :fuga, "Bar", 2]
target.inject({}){|acc, obj| (acc[obj.class.to_s.intern]||=[]) << obj; acc}
#=> {:Fixnum=>[1, 2], :Symbol=>[:hoge, :fuga], :String=>["Foo", "Bar"]}
Go to list of users who liked
More than 5 years have passed since last update.
仕事中にちょっと書いてみたんですが、実際やっぱりこんなことしなくても良かったので供養。
target = [1, :hoge, "Foo", :fuga, "Bar", 2]
target.inject({}){|acc, obj| (acc[obj.class.to_s.intern]||=[]) << obj; acc}
#=> {:Fixnum=>[1, 2], :Symbol=>[:hoge, :fuga], :String=>["Foo", "Bar"]}
Register as a new user and use Qiita more conveniently
Go to list of users who liked