Mam kilka dużych plików o stałej szerokości i muszę upuścić wiersz nagłówka.Ruby: Czy istnieje coś takiego jak drop # #, który zwraca moduł wyliczający zamiast tablicy?
Śledzenie iteratora nie wydaje się bardzo idiomatyczne.
# This is what I do now.
File.open(filename).each_line.with_index do |line, idx|
if idx > 0
...
end
end
# This is what I want to do but I don't need drop(1) to slurp
# the file into an array.
File.open(filename).drop(1).each_line do { |line| ... }
Co to jest idiom Ruby?
To jest bardzo ładne (i rubyistyczne) rozwiązanie. Jeśli nie lubisz tego języka, zmień go. Byłem pewien, że to, co chciałem zrobić, było tak powszechne, że byłby już istniejący idiom lub funkcja. Minęły dwa dni, odkąd zapytałem, więc przypuszczam, że nie. enum_cons i enum_slice istnieją, więc może nazwa enum_drop lepiej pasuje do stdlib. Dziękuję Ci. –
Masz rację. To brzmi lepiej. Zmieniono go na 'enum_drop'. – Debilski
Czy nie byłoby bardziej jak: ... with_index (n) {| val, idx | yield val} ... –