在C++我有這樣的宏:在haxe中是否有類似宏的C++機制?
#ifdef DEBUG
#define dbgAssert(condition, message)/
if(!(condition)){ implementation.Assert(message); }
#else
#define dbgAssert(condition, message)
#endif
這種方法是有效的,就好像我們在調試模式不是特別當一些條件可以對CPU特別重的條件從來沒有測試。
有沒有一種方法可以在Haxe中實現這種類型的內襯?
這是一個非常簡單的例子,因爲有一些宏有十幾個條件定義(取決於多個參數)我無法在整個地方有效地維護多餘的重定義。
這取決於水平的略微更有趣的系統,讓我始終測試最簡單的條件,並添加heavyer測試:
#if 4 == ASSERT4LEVEL
#define lvlAssert4(conditionlvl1, conditionlvl2, conditionlvl3, conditionlvl4, message)/
myAssert((conditionlvl1) && (conditionlvl2) && (conditionlvl3) && (conditionlvl4), message)
#elif 3 == ASSERT4LEVEL
#define lvlAssert4(conditionlvl1, conditionlvl2, conditionlvl3, conditionlvl4, message)/
myAssert((conditionlvl1) && (conditionlvl2) && (conditionlvl3), message)
#elif 2 == ASSERT4LEVEL
#define lvlAssert4(conditionlvl1, conditionlvl2, conditionlvl3, conditionlvl4, message)/
myAssert((conditionlvl1) && (conditionlvl2), message)
#else
#define lvlAssert4(conditionlvl1, conditionlvl2, conditionlvl3, conditionlvl4, message)/
myAssert((conditionlvl1), message)
#endif
我怎麼能複製,而不執行情況這種行爲?
其實在這種情況下測試條件... – Coyote