Люди, вот если в библиотеке (Library) сделать допустим переменную/функцию/.. и т.д. приватной (private int Int), она ж потом после парсинга в чистый джасс будет иметь имя (Library___Int) или (Library__Int), то есть имя библиотеки + 2 или 3 нижних подчеркивания (по рандому ставится, не знаю от чего это зависит) и имя переменной.
К сути, можно ж как-то определить какой именно разделитель __ или ___?
К сути, можно ж как-то определить какой именно разделитель __ или ___?
Вот идея, но надо протестить.
К тому же не уверен что сработает, мб кто знает способ?
К тому же не уверен что сработает, мб кто знает способ?
library Library initializer Init{
define{
private Check=Int
Divide=0
}
#if Library___Int==Check then
setdef Divide=___
#else
setdef Divide=__
#endif
void Init(){
BJDebugMsg(`Divide`)
}
}
Принятый ответ
nvc123, та уже не надо, такой вариант не катит. Вообще, как оказалось, определить разделитель во время компиляции невозможно (
Но есть альтернатива, при которой разделитель будет всегда равен ___ (3 нижних подчеркивания)
library Test{
private int Check
struct Test{
private static int Check
}
}
В таком случае переменные будут определяться как
Test___Check=0 // переменная библиотеки
Test__Check=0 // переменная структуры
Может кому понадобится, хотя вряд ли
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
заменить private на public
вообще private нужен для инкапсуляции
если инкапсуляции нету то нафига его писать?