Я программист на Java/C++, а Ruby - мой первый язык сценариев. Иногда я нахожу, что я не использую его так продуктивно, как мог, в некоторых областях, например, таких как:Быстрый совет: как это должно быть написано в Ruby?
Цель: анализировать только определенные строки из файла. Образец, который я собираюсь сделать, состоит в том, что есть одна очень большая линия с размером больше 15, остальные, безусловно, меньше. Я хочу игнорировать все строки до (и в том числе) большого.
def do_something(str)
puts str
end
str =
'ignore me
me too!
LARGE LINE ahahahahha its a line!
target1
target2
target3'
flag1 = nil
str.each_line do |line|
do_something(line) if flag1
flag1 = 1 if line.size > 15
end
Я написал это, но я думаю, что это могло быть написано намного лучше, то есть, должно быть лучше, чем установка флага. Также приветствуются рекомендации о том, как писать красивые строки Ruby.
Примечание/Уточнение: Мне нужно напечатать ВСЕ строки ПОСЛЕ первого появления БОЛЬШОЙ ЛИНИИ.
Можете ли вы определить «лучше», что ваш цикл do делает именно то, что вы хотите, всего в нескольких строках кода, и его очень легко читать и понимать намерение. – Beanish
Лучше не по производительности, а по лучшему. Приведенные до сих пор примеры - это то, что я ищу (в основном, если бы только люди лучше перечитали разъяснение). – Zombies