- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
def get_line_from_file(path, line)
result = nil
File.open(path, "r") do |f|
while line > 0
line -= 1
result = f.gets
end
end
return result
end
get_line_from_file("/tmp/foo.txt", 20)
это?
если предположить что синтаксис корректен, то остается только лишнее присвоение в цикле, отсутствие проверок границ и обработки исключений.
что я пропустил?
чтой то я сильно сомневаюсь.
IO.readlines(source)[count]
и вопрос, что будет, если заказать тысячную строку из семистрочного файла?
мы провалимся в эксепшн? в возвращаемой строке будет EOF? случится руби-магия?
[мне так, для общего развития]
Пример который приведён как говнокод, на файле в 100 метров результат выдал за 0.005s, все же примеры с readlines занимают от 15 до 25 секунд.
Оригинальный "говнокод" ни разу не говнокод.
Ты сказал элементарную вещь, которую и школьник должен знать, чтобы не кушать память, и тебя за это плюсанули. Меня за тоже самое тремя постами выше минусанули два раза. Вывод: на этом сайте одно дерьмо обитает. И код от говнокода вы не отличаете.
Я не говорю что код хороший, потому как по моим критериям читабельность чаще всего выше производительности. Но до говнокода помоему этот пример не дотягивает. После DailyWTF это даже выглядит адекватно :)