На работе у нас есть много кода AS3, который условно выполняет регистрацию или утверждения, например, так:
CONFIG::debug
{
assert(blah > 2);
}
Я бы действительно лучше просто написал:
assert(blah > 2);
И у нас есть определениеиз assert()
указывает, что в режиме выпуска любые вызовы к нему, и выражения для его аргументов , не должны оцениваться - то есть, как если бы строка была пустой.Мало того, что assert()
никогда не должен вызываться в выпуске, но само условие blah > 2
не должно оцениваться.
В C # это будет выглядеть так:
[Conditional("DEBUG")]
public static void assert(...) { ... }
или в C ++(примерно):
#ifdef DEBUG
#define assert(cond) if(!(cond)) { explode(); }
#else
#define assert(cond) /* nothing */
#endif
Есть ли какой-нибудь способ сделать что-то подобное в AS3, или нам нужно делать блоки условной компиляции вокруг всего?Я искал руководства, но пока не нашел ничего полезного.