Всем привет!
Давно я не делал выпусков. Дело в том, что, начав вести данный канал, в какой-то момент у меня начали появляться различные мысли и идеи, на реализацию которых потребовалось время и энергия. И я отвлекся на реализацию новый идей в части написания скриптов на QLUA. Что-то получилось, что-то не очень. Но, однозначно я продвинулся в части написания скриптов на QLUA, освоил новые инструменты, и понемногу буду делиться своими новыми знаниями на этом канале.
Сегодня я расскажу о способах работы с фалами в QLUA, а именно с двумя возможностями:
- Подключение к своему скрипту другого блока с кодом.
- Запись скриптом в файл любой информации (например, какого-нибудь отчета).
Итак, поехали.
Подключение к своему файлу другого файла с блоком кода. Это может быть полезно в ряде случаев, например, вы обозначили ряд бумаг, с которыми будете работать, но работать с этим списком нужно разными скриптами. Конечно, можно этот список дублировать во всех скриптах, но проще будет создать отдельный файл с этим списком и подключать его во всех работающих скриптах. Также этот способ можно использовать для упрощения сильно разросшегося скрипта, вынося некоторые блоки в отдельные файлы.
На самом деле это делается просто. Нужно использовать команду
dofile (filename)
В скобках в кавычках нужно прописать наименование подключаемого файла.
Давайте создадим два файла:
Файл file0.lua
perem = "Hello from Tomsk!";
Посмотреть файл (хотя что там смотреть?)
Файл file.lua
function main()
dofile ("file0.lua")
message("текст сообщения: "..perem);
end
Посмотреть файл (да и тут смотреть особо нечего. :-))
Думаю, что тут всё просто. В файле file.lua идет подключение файла file0.lua, в котором определена переменная perem. И потом в файле file идёт вывод этой переменной. Если Вы создадите два таких файла и запустите, то увидите сообщение:
Надеюсь, что тут всё ясно.
Теперь рассмотрим вопрос записи информации в файл.
В данном случае нам необходимо выполнить три действия:
- Открыть нужный файл на чтение;
- Записать в файл информацию;
- Закрыть обращение к файлу.
Вот три строки, которые соответствуют этим трём операциям:
FileWrite = io.open(FileName, "a");
FileWrite:write(result_to_report);
FileWrite:close();
Здесь, FileWrite – переменная, которую мы используем для обращения к файлу.
FileName – текстовая переменная с именем файла, в который мы будем записывать информацию.
result_to_report – переменная, содержащая информацию, которая будет записана в файл.
Отдельно стоит остановиться на первой строке:
«w» – режим записи в файл с удалением содержимого файла (перезапись);
«a» – режим записи в файл с добавлением к содержимому файла.
Еще пара слов про наименование файла, в который будет вестись запись. Для вышерассмотренного примера, это переменная FileName.
Если в данной переменной будет просто наименование файла, например «result.txt», то рядом с исполняемым файлом будет создан такой файл и в него будут записаны данные. Если Вы захотите записывать файл в другое место, например, в папку, рядом с исполняемым файлом, то нужно прописать в переменную путь «reports/result.txt». И, что важно, нужно вручную создать такую папку «reports». К сожалению, QLUA сам не создает таким образом папки.
Для закрепления данной информации, давайте создадим такой простой файл:
function main()
FileName = "result.txt"
result_to_report = "Данные, которые будут записаны в файл.\n";
FileWrite = io.open(FileName, "a");
FileWrite:write(result_to_report);
FileWrite:close();
end
Если запустить данный код, то, рядом с запускаемым файлом появится файл «result.txt» с записанной информацией.
На сегодня у меня все.
⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇
📃 Краткое содержание данного канала.
➖➖➖➖➖➖➖➖➖➖➖➖➖
Landingcentr.ru - разработка сайтов для малого и среднего бизнеса.
⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆
Пишите в комментариях все ли Вам понятно. Получилось ли запустить код.
Всем пока!