Люди, вот если в библиотеке (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 // переменная структуры
Может кому понадобится, хотя вряд ли
`
ОЖИДАНИЕ РЕКЛАМЫ...
28
есть более простой способ
заменить private на public
вообще private нужен для инкапсуляции
если инкапсуляции нету то нафига его писать?
18
nvc123, та уже не надо, такой вариант не катит. Вообще, как оказалось, определить разделитель во время компиляции невозможно (
Но есть альтернатива, при которой разделитель будет всегда равен ___ (3 нижних подчеркивания)
library Test{
  private int Check
  struct Test{
    private static int Check
  }
}
В таком случае переменные будут определяться как
Test___Check=0 // переменная библиотеки
Test__Check=0 // переменная структуры
Может кому понадобится, хотя вряд ли
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.