- 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)
user654321 25.10.2010 18:17 # +1
это?
da4ever 25.10.2010 19:14 # 0
если предположить что синтаксис корректен, то остается только лишнее присвоение в цикле, отсутствие проверок границ и обработки исключений.
что я пропустил?
Анонимус 25.10.2010 22:56 # +1
da4ever 25.10.2010 23:35 # 0
чтой то я сильно сомневаюсь.
da4ever 27.10.2010 01:17 # 0
IO.readlines(source)[count]
Nakilon 26.10.2010 06:15 # −1
Giffc 26.10.2010 00:49 # 0
Giffc 26.10.2010 00:56 # 0
Nakilon 26.10.2010 06:13 # −1
da4ever 27.10.2010 01:30 # 0
и вопрос, что будет, если заказать тысячную строку из семистрочного файла?
мы провалимся в эксепшн? в возвращаемой строке будет EOF? случится руби-магия?
[мне так, для общего развития]
nekotwi 27.10.2010 20:43 # 0
railsmonk 16.11.2010 09:09 # +2
Пример который приведён как говнокод, на файле в 100 метров результат выдал за 0.005s, все же примеры с readlines занимают от 15 до 25 секунд.
Оригинальный "говнокод" ни разу не говнокод.
railsmonk 16.11.2010 09:52 # 0
Nakilon 16.11.2010 13:33 # −1
Ты сказал элементарную вещь, которую и школьник должен знать, чтобы не кушать память, и тебя за это плюсанули. Меня за тоже самое тремя постами выше минусанули два раза. Вывод: на этом сайте одно дерьмо обитает. И код от говнокода вы не отличаете.
railsmonk 16.11.2010 13:48 # +1
Я не говорю что код хороший, потому как по моим критериям читабельность чаще всего выше производительности. Но до говнокода помоему этот пример не дотягивает. После DailyWTF это даже выглядит адекватно :)
brannt 19.11.2010 14:35 # 0
Nakilon 26.10.2010 05:33 # −7
Мистер Хэнки 26.10.2010 06:11 # +4