Ich brauche Hilfe beim Erstellen von Hash-Darstellung jeder möglichen Kombination von zwei Arrays in Ruby.Kombinieren Sie zwei ungleiche Arrays zu Hash
Was ich habe:
numbers = [1, 2]
letters = ['q', 'w', 'e', 'r']
Was ich brauche:
combination = [
{ number: 1, letter: 'q' },
{ number: 1, letter: 'w' },
{ number: 1, letter: 'e' },
{ number: 1, letter: 'r' },
{ number: 2, letter: 'q' },
{ number: 2, letter: 'w' },
{ number: 2, letter: 'e' },
{ number: 2, letter: 'r' }
]
Wichtig: Ich werde nie wissen, wie viele Elemente „Zahlen“ oder „Buchstaben“ Array enthält (nur, dass diese nie gleich lang) variiert dies je nach Fall.
Bisher hat folgende mir am nächsten Ziel bekommen, aber dies trägt alle Briefe an jede Nummer alle zusammen und ich verstehe nicht, wie es ohne Fehler weiter gehen:
combination = Hash.new []
numbers.each do |nr|
combination[:number => nr] = [:letter => letters]
end
hinzufügen weiter: 'numbers.product (letters) .map {| a, b | {"Nummer" => a, "Brief" => b}} ':) – shivam
Schöne Lösung Eugen – Jon