здесь код, который я хочу скомпилировать:
macro defineSomething(amount:expr):stmt=
var amountInt = intVal(amount).int
# Boring staff
defineSomething(42);
Это работает отлично. У меня есть все, что я хочу, внутри моего макроса, я могу управлять персоналом по-своему.
Но тогда я думаю, что было бы лучше убрать магический номер в некоторые константные настройки:
const MAGIC_AMOUNT:int = 42
# Whole lot of strings
defineSomething(MAGIC_AMOUNT)
Этот код не работает. Потому что MAGIC_AMOUNT
буквально не является целочисленным значением, в отличие от 42
магического числа.
Итак, как получить значение моей переменной внутри макросов в nim?