sa to nasze dane wejsciowe: 5-7-undefined-undefined-undefined-undefined-undefined-#0(bearer successful)-5|7-5-undefined-undefined-undefined-undefined-undefined-#0(bearer successful)-7
Nasz nagłówek czyli nazwy pól z pierwszej tablicy dla której dane powinny być zmatchowane.
Bloki danych są oddzielone znakiem ‘|’, maksymalnie takich bloków w jednym dokumencie moze byc 11.
chciałbym osiągnąć: (tak aby pola były indeksowane)
Ruby jak to ruby, można na wiele sposobów rozwiązać dany problem
Można spróbować użyć kolejno String#split, Array#zip, Array#to_h
Można się też pokusić o sparsowanie tego jako CSV. Pokombinuj.
Huh, no sporo rzeczy tutaj jest do poprawy. Pierwsza najważniejsza kwestia jest to metoda puts której nie powinno tutaj być, bo ona po prostu wypisuje na standardowe wyjście wartość, którą tam przekażesz. Natomiast cała konstrukcja name.each { ... } zwróci po prostu oryginalną tablicę. Czyli z Twojego punktu widzenia coś takiego: name.each { |item| puts item} jest równoważne temu: name.
Kolejna sprawa, już nie wpływająca na algorytm ale na czytelność kodu to iteratory: jeśli iterujesz po tablicy to używaj metody each, w której będziesz miał już dostęp bezpośrednio do aktualnego elementu. Ewentualnie each_with_index jeśli przy okazji faktycznie potrzebujesz indeks.