какт просто определить число строк вLUA

Страницы: 1
RSS
какт просто определить число строк вLUA
 
Добрый день. перехожу на LUA.. подскажите, пожалуйста, есть ли функция простая функция определения числа строк в текстовом файле для LUA? пока не нашел.. спасибо!
 
Цитата
Igor Golovin написал:
Добрый день. перехожу на LUA.. подскажите, пожалуйста, есть ли функция простая функция определения числа строк в текстовом файле для LUA? пока не нашел.. спасибо!
Добрый день.

Можно попробовать так:

function getLinesNumber(file_name)
   local ctr = 0
   for _ in io.lines file_name do
     ctr = ctr + 1
   end
   return ctr
end
 
Цитата
Egor Zaytsev написал:
Цитата
Igor Golovin   написал:
Добрый день. перехожу на LUA.. подскажите, пожалуйста, есть ли функция простая функция определения числа строк в текстовом файле для LUA? пока не нашел.. спасибо!
Добрый день.

Можно попробовать так:

function getLinesNumber(file_name)
   local ctr = 0
   for _ in io.lines file_name do
     ctr = ctr + 1
   end
   return ctr
end
спасибо! перебором строк нет проблем...
 
Навскидку:

f,i=io.open(file,"r"),0
for _ in string.gmatch(f:read("*a")) do i=i+1
end
f:close()
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Пропустил параметр для gmatch

string.gmatch(f:read("*a"),"\n")
www.bot4sale.ru

Пасхалочка для Алексея Иванникова: https://forum.quik.ru/messages/forum10/message63088/topic7052/#message63088
 
Цитата
s_mike@rambler.ru написал:
Навскидку:

f,i=io.open(file,"r"),0
for _ in string.gmatch(f:read("*a")) do i=i+1
end
f:close()
Можно и так (особенно, если файл слишком большой для единовременного считывания):
Код
for _ in f:lines() do i=i+1 end
или вовсе одной строкой, если стандартный поток ввода (stdin) не задействован Вашим скриптом для других текущих операций:
Код
for _ in io.lines(filename) do i=i+1 end -- Файл сам откроется и сам, по окончании цикла, закроется
Страницы: 1
Читают тему
Наверх