Как взять значение последней строки из файла?

Страницы: 1
RSS
Как взять значение последней строки из файла?
 
В связи продолжением изучения qlua возник такой вопрос, как взять значение последней строки из файла?

В целом мне необходимо реализовать трейлинг-стоп, но без выставления заявки, т.е расчет трейлинг-стопа должен быть в скрипте. На сколько я понимаю это не сделать без сохранения цен во внешний файл, т.к. между итерациями все переменные обнуляются. С добавлением строки в файл я разобрался, а вот считать последнее добавленное значение не получается. Как можно взять это значение?
 
Здравствуйте,
Описание функций для работы с файлами можно найти в интернете, например ссылка lua.ru
Для построчного чтения можно использовать io.lines или file:lines
 
Цитата
RC2 написал:
В целом мне необходимо реализовать трейлинг-стоп, но без выставления заявки, т.е расчет трейлинг-стопа должен быть в скрипте. На сколько я понимаю это не сделать без сохранения цен во внешний файл, т.к. между итерациями все переменные обнуляются.
не определяйте переменные как локальные и они не будут обнуляться.
Использовать запись в файл для реализации трейлинг-стопа нет необходимости.
 
если хотите читать в конце файла не перебирая все содержимое, то используйте функцию:
file:seek ([whence] [, offset])
Получает и выставляет текущую позицию в файле,  отсчитываемую от начала файла, в позицию, заданную параметром offset  плюс значение (исходная позиция), заданное строкой whence, следующим  образом:  
  • "set": исходная позиция равна 0 (начало файла);
  • "cur":исходная позиция – текущая;
  • "end": исходная позиция – конец файла.
В случае успешного выполнения, функция seek  возвращает выставленную позицию в файле, отсчитываемую от начала файла.  Если функция завершается неудачно, она возвращает nil и строку – описание ошибки.
Значение по умолчанию для параметра whence равно  "cur", а offset – 0. Т.о. вызов file:seek() возвращает текущую позицию в  файле, не изменяя ее; вызов file:seek("set") перемещает указатель  текущей позиции в начало файла (и возвращает 0); а вызов  file:seek("end") перемещает указатель текущей позиции в конец файла, и  возвращает его длину.
 
Цитата
RC2 написал:
На сколько я понимаю это не сделать без сохранения цен во внешний файл, т.к. между итерациями все переменные обнуляются
Это не так - переменные не обнуляются.
 
Благодарю за ответы, попробую сначала реализовать через переменные, раз они не обнуляются.
Страницы: 1
Читают тему
Наверх