Ответ Лукаса Валле выше совершенно в порядке; Вы можете использовать skip , чтобы пропустить ненужные вам строки. Тем не менее, я не могу не указать, что case лучше работает с другими функциональными конструкциями, такими как map:
$file.IO.lines.skip(3).race.map( .split(" ") );
Таким образом, вы можете объединить несколько операций в цепочку, не создавая различных циклов. Конечно, в Raku TIMTOWDI, так что for
l oop (или несколько) совершенно нормально.
Кроме того, в этом случае я бы действительно рассчитывал, сколько l oop, или map
, собирается взять. Для файлов, которые не имеют много строк, race
не даст вам много, и это может быть даже медленнее из-за накладных расходов. Если вы намерены немного побить время, IO::Handle.Supply
, вероятно, будет немного быстрее.