ruby字符串到哈希转换

Mr.*_*ack 2 ruby string hash

我有这样的字符串,

str = "uu@p, xx@m, yy@n, zz@m"
Run Code Online (Sandbox Code Playgroud)

我想知道如何将给定的字符串转换为哈希.(即我的实际要求是,有多少个值(在@符号之前)有m,n和p.我不想计算,我需要一个确切的值).输出会更好,像这样,

{"m" => ["xx", "zz"], "n" => ["yy"], "p" => ["uu"]}
Run Code Online (Sandbox Code Playgroud)

可以帮帮我吗?

Mic*_*ohl 14

直接复制/过去的IRB会议:

>> str.split(/, /).inject(Hash.new{|h,k|h[k]=[]}) do |h, s|
..   v,k = s.split(/@/)
..   h[k] << v
..   h
..   end
=> {"p"=>["uu"], "m"=>["xx", "zz"], "n"=>["yy"]}
Run Code Online (Sandbox Code Playgroud)