что то вроде сишного include? Т.е. чтобы просто указать на файл с кодом и код из этого файла целиком как есть во время выполнения интерпретатором вставился в это место
ну и dofile делает ровно то, что в этом сообщении написано после "т.е.". Что не так?
Ты можешь использовать сишный или другой препроцессор точно так же, но тебе это скорее всего не нужно. Ну т.е. это не совсем сишный механизм, но он не особо хороший.
Да ты прав dofile делает практически тоже самое что и сишный include, ну может несовсем но для простого кода хватает, просто непользовался им раньше незнал, спасибо, я просто хотел все глобольные переменные вынести в отдельный ini файл чтобы не лазить каждый раз в скрипт их поправлять, как раз 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 это не сработает.
плохая идея. Лучше для этого использовать либо конфиг с сериализацией/десериализацией, либо реквайрить этот конфиг. Просто переменные не делать глобальными (глобальные переменные - зло). А если некоторые очень надо, то подсовывать их в _G/_ENV
Если нужно то не зло
Обсуждают сегодня