169 похожих чатов

Ребята привет, стало вдруг интересно - а в луа есть

что то вроде сишного include? Т.е. чтобы просто указать на файл с кодом и код из этого файла целиком как есть во время выполнения интерпретатором вставился в это место

6 ответов

14 просмотров

ну и dofile делает ровно то, что в этом сообщении написано после "т.е.". Что не так?

Ты можешь использовать сишный или другой препроцессор точно так же, но тебе это скорее всего не нужно. Ну т.е. это не совсем сишный механизм, но он не особо хороший.

Anatoliy-S Автор вопроса
mva Misbakh-Soloviov
ну и dofile делает ровно то, что в этом сообщении ...

Да ты прав dofile делает практически тоже самое что и сишный include, ну может несовсем но для простого кода хватает, просто непользовался им раньше незнал, спасибо, я просто хотел все глобольные переменные вынести в отдельный ini файл чтобы не лазить каждый раз в скрипт их поправлять, как раз dofile очень годится для этого

Anatoliy S
Да ты прав dofile делает практически тоже самое чт...

Нет, это делает не практически то же самое, а абсолютно другое: просто вставляет кусок кода в указанное место. Скажем, в C сработает вот это: tea@teapot ~/w/c_test> cat main.c #include <stdio.h> int main() { #include "var.h" printf("%d\n", var); return 0; } tea@teapot ~/w/c_test> cat var.h int var = 5; tea@teapot ~/w/c_test> gcc main.c -o main tea@teapot ~/w/c_test> ./main 5 В Lua это не сработает.

Anatoliy S
Да ты прав dofile делает практически тоже самое чт...

плохая идея. Лучше для этого использовать либо конфиг с сериализацией/десериализацией, либо реквайрить этот конфиг. Просто переменные не делать глобальными (глобальные переменные - зло). А если некоторые очень надо, то подсовывать их в _G/_ENV

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта