Перейти к публикации

В ближайшее время постараюсь разобраться с картой сервера/ЛК/бб кодами

Внимание, с 14 февраля до 20 февраля могут проходить работы на сервере, где также находится лаунчсервер. В связи с этим авторизация в лаунчере может не работать

  • 0
kaka888

Нужен пример кода для записи и чтения файлов

Вопрос

Почти для всех моих нормальных будущих программ нужно записывать данные в отдельные файлы и считывать их обратно. Я в геймпедии посмотрел как это всё делать и нихрена не получилось. При вводе file:close(), file:read() и т.д. постоянно выдаёт ошибку. Почти уверен, что вместо file перед ":" я ввожу что-то не то. Приведите пример с такими штуками, пожалуйста :(

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

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


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

6 ответов на этот вопрос

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

  • 0

зачем в скобках нужно "*a"?

read("*a") является допустимым сокращением от read("*all") и значит "прочитать весь файл целиком".

Подробности: http://www.lua.org/pil/21.1.html

  • Like 2

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


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

Почти для всех моих нормальных будущих программ нужно записывать данные в отдельные файлы и считывать их обратно. Я в геймпедии посмотрел как это всё делать и нихрена не получилось. При вводе file:close(), file:read() и т.д. постоянно выдаёт ошибку. Почти уверен, что вместо file перед ":" я ввожу что-то не то. Приведите пример с такими штуками, пожалуйста :(

Первый ответ > http://computercraft.ru/topic/1747-rabota-s-failami/MqBiBV3.png

  • Like 1

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


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

Тот код, что есть уже, тоже желательно выкладывать.

local f, err = io.open("/home/bytes.txt", "w")

if not f then
  error("could not open file for writing: " .. err)
end

f:write("Bytes don't bite.\n")
f:close()

local f, err = io.open("/home/password.txt", "r")

if not f then
  error("could not open file for writing: " .. err)
end

local contents = f:read("*a")
f:close()

print("Your password is: " .. contents)
  • Like 2

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


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

"local file=io.open("testfile", "r")

print(file:read("*a"))

file:close"

 

Вопрос: А зачем в скобках нужно "*a"?

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


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

@@eu_tomat,

https://www.lua.org/manual/5.3/manual.html#pdf-file:read

 

Обычный file:read("a") прекрасно работает (в стандартном Lua 5.3), остальные символы игнорируются.

Изменено пользователем LeshaInc
  • Like 3

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


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×