身份如何Ruby的group_by()
方法組通過其元素的身份(或者更確切地說self
)的陣列? (?2.2+)組通過在紅寶石
a = 'abccac'.chars
# => ["a", "b", "c", "c", "a", "c"]
a.group_by(&:???)
# should produce...
# { "a" => ["a", "a"],
# "b" => ["b"],
# "c" => ["c", "c", "c"] }
身份如何Ruby的group_by()
方法組通過其元素的身份(或者更確切地說self
)的陣列? (?2.2+)組通過在紅寶石
a = 'abccac'.chars
# => ["a", "b", "c", "c", "a", "c"]
a.group_by(&:???)
# should produce...
# { "a" => ["a", "a"],
# "b" => ["b"],
# "c" => ["c", "c", "c"] }
在一個新的Ruby,
a.group_by(&:itself)
在一老一,你仍然需要做a.group_by { |x| x }
謝謝,這裏是[Object#本身()]的文檔鏈接(http://ruby-doc.org /core-2.2.0/Object.html#method-i-itself)。順便說一下,我用'&:to_s'來提供上面的例子。 – sschmeck
也許,這將幫助:
a = 'abccac'.chars
a.group_by(&:to_s)
#=> {"a"=>["a", "a"], "b"=>["b"], "c"=>["c", "c", "c"]}
或者,下面也將工作:
a = 'abccac'.chars
a.group_by(&:dup)
#=> {"a"=>["a", "a"], "b"=>["b"], "c"=>["c", "c", "c"]}
謝謝,這是我的工作。 ;-) – sschmeck
發現了一箇舊的但類似的問題,http://stackoverflow.com/q/16932711/846163 – sschmeck