Witam,
Zastanawiam się jak zabrać się za tego zadania w możliwie najprostszy sposób. Myślałem o implementacji tego w języku Ruby, ponieważ jest raczej równie funkcjonalny jak Perl (nie ubliżając drugiemu, potężnemu językowi) o wiele lepiej mi się w nim pisze dzięki specyficznym podejściu do iteratorów, wszechobecnym programowaniu obiektowym itp. Nie mam zamiaru wywoływać flamów czy podawać wyższośc języka X nad Y, po prostu zależy mi na ogólnym rozwiązaniu problemu bo nigdy czegoś podobnego nie robiłem i zależy mi na jakimś punkcie zaczepienia. Mam nadzieję drodzy forumowicze, że będziecie wyrozumiali - chcę się nauczyć praktycznego skrypcenia, a do tego trzeba pisać. I uczyć się od lepszych. :)
-
Czy problem tego typu można rozwiązać za pomocą pojedynczego wyrażenia regularnego? Potrafię pisać proste wyrażenia regularne np. do walidacji daty czy też maila, ale wiem że potrafią znacznie więcej i ciekaw jestem czy tego typu problem może zostać podobnie rozwiązany.
-
Na początek wczytuje plik, w języku Ruby wystarczy jedna linia (bo Ruby jest prosty):
data = File.open(filename).readlines
W rezultacie otrzymuje tablicę, każda linia jest w oddzielnej komórce.
2. Na każej linii wykonuję procedurę, iterator collect powoduje, że dana linia zostanie w razie potrzeby zmodyfikowana.
data.collect! { |line| moja_metoda(line) }
Cały problem w tym, że nie wiem jak najlepiej napisać tą metodę. Na pewno można zrobić to na wiele sposobów. Ale będzie fajnie jak zostanie wskazana mi ścieżka typowa dla typowych skrypciarzy piszących w popularnych językach perl / ruby / python / bash.
Pozdrawiam,