Перейти к содержимому
  • 0
Гость Kartze

Как редактировать файлы с помощью Lua?

Вопрос

Гость Kartze

Хочу в файл /baka.lua записать строчку "lol". Как это сделать? Самому разобраться не получилось, т. к. новичок в Lua. Будьте добры, помогите!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Хочу в файл /baka.lua записать строчку "lol". Как это сделать? Самому разобраться не получилось, т. к. новичок в Lua. Будьте добры, помогите!

1. local file = io.open("<путь к файлу>", "<мод>") - моды: "w" запись файла, "r" - чтение файла, "a" -дозапись в конец. Нам нужно "w"

2. file:write("<текст>") - функция записывающая в файл то что тебе надо.

Для чтения используется функция file:read()

Подробнее http://www.lua.ru/doc/5.7.html и тут http://minecraft-ru.gamepedia.com/OpenComputers/Filesystem_API (внизу страницы)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Kartze

1. local file = io.open("<путь к файлу>", "<мод>") - моды: "w" запись файла, "r" - чтение файла, "a" -дозапись в конец. Нам нужно "w"

2. file:write("<текст>") - функция записывающая в файл то что тебе надо.

Для чтения используется функция file:read()

Подробнее http://www.lua.ru/doc/5.7.html и тут http://minecraft-ru.gamepedia.com/OpenComputers/Filesystem_API (внизу страницы)

Огромное тебе спасибо, выручил :smile9:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1. local file = io.open("<путь к файлу>", "<мод>") - моды: "w" запись файла, "r" - чтение файла, "a" -дозапись в конец. Нам нужно "w"
2. file:write("<текст>") - функция записывающая в файл то что тебе надо.

А сохранять кто будет? Пушкин?

3. file:flush() --записывает в файл

4. file:close() --закрывает файл

Также надо помнить что в file:write пишется тип данных string. Поэтому если посылаешь на запись массив или число не забываем пользоваться tostring()

Изменено пользователем Asior

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А сохранять кто будет? Пушкин?

3. file:flush() --записывает в файл

4. file:close() --закрывает файл

Также надо помнить что в file:write пишется тип данных string. Поэтому если посылаешь на запись массив или число не забываем пользоваться tostring()

file:flush в обычной записи файлов, насколько я знаю - не требуется. file:write и так все записывает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

file:flush в обычной записи файлов, насколько я знаю - не требуется. file:write и так все записывает.

Записывать-то он записывает, но не сохраняет.

file:close автоматом сохраняет файл и закрывает его

file:flush нужен, если ты не хочешь закрывать файл, но хочешь сохранить его(например, при логировании чего либо).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

file:flush в обычной записи файлов, насколько я знаю - не требуется. file:write и так все записывает.

 

file:write помещает данные в буфер файла. Данные из буфера сбрасываются на диск или по заполнению буфера или по file:flush или по закрытию файла. Если file:flush не делать, то, например, при некорректном завершении программы, данные из буфера могут быть потеряны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...