Ich denke, es ist in einem Nachschlagewerk geschrieben, aber anstelle eines Memorandums.
Wenn Sie ein Array mit mehreren Elementen wie den folgenden durch ein assoziatives Array trennen möchten
array = [1, 2, "a", 3, "b", "c", 4]
ideal_hash = {
hoge: [1, 2, 3, 4],
fuga: ["a", "b", "c"]
}
ideal_hash = { hoge: [], fuga: [] }
array.each do |i|
i.is_a?(Integer) ? hash[:hoge] << i : hash[:fuga] << i
end
Da die Tap-Methode das generierte Selbst zurückgibt, kann ich es ordentlich schreiben und möchte es so oft wie möglich verwenden.
ideal_hash = { hoge: [], fuga: [] }.tap do |hash|
array.each do |i|
i.is_a?(Integer) ? hash[:hoge] << i : hash[:fuga] << i
end
end
Recommended Posts